同步已有项目和组织这里更新gitlab配置问题

  • Choerodon平台版本: 0.14

你好,我已经部署到 同步已有项目和组织 这里了,现在是准备跳到前面部署gitlab的步骤,来更新里面的配置信息,但我这里的gitlab是生产中已经有的,自己通过yaml文件部署到kubernetes集群里面,那关于这配置更新我该如何自定义去更新呢??求教!

更新Gitlab配置
helm upgrade gitlab c7n/gitlab
-f <(helm get values gitlab)
–set env.config.CHOERODON_OMNIAUTH_ENABLED=true
–set env.config.OMNIAUTH_AUTO_SIGN_IN_WITH_PROVIDER=oauth2_generic
–set env.config.OMNIAUTH_BLOCK_AUTO_CREATED_USERS=false
–set env.config.CHOERODON_API_URL=http://api.example.choerodon.io
–set env.config.CHOERODON_CLIENT_ID=gitlab
–version 0.3.0
–namespace c7n-system

你好,请问已有的Gitlab中是否已有数据(比如用户,组,git仓库)?

可以当作全新的,数据我有备份,可以在接入猪齿鱼后,再进行恢复也可以的吧?

不可以,目前接入猪齿鱼需要的是一个全新的Gitlab哈。

好,那你就当我是用自己的方式部署一套全新的gitlab吧,怎么解决问题呢?我用你们helm的教程,gitlab各种问题不稳定。

你好,请问哪里使用helm安装的gitlab遇到了哪些问题?

现在没有找到之前问题的日志记录了,但我想的是这类基础组件,应该给予使用者选择的权利吧,不管是helm,还是单独的yaml文件也好,并且你们替换了gitlab的数据库为mysql,而我们这边已经习惯了postgres,并且官方也是推荐用这个的。

自主搭建的Gitlab接入猪齿鱼操作参考指南:

  1. 添加Oauth2认证配置
wget -O /opt/gitlab/embedded/service/gitlab-rails/config/initializers/customize_oauth.rb https://raw.githubusercontent.com/TimeBye/gitlab-ce-work-with-mysql/11.6.4-ce.0/customize_oauth.rb
  1. gitlab.rb文件中添加Oauth2认证配置,注意替换下面域名
    gitlab_rails['omniauth_enabled'] = true
    gitlab_rails['omniauth_allow_single_sign_on'] = ['oauth2_generic']
    gitlab_rails['omniauth_auto_sign_in_with_provider'] = 'oauth2_generic'
    gitlab_rails['omniauth_block_auto_created_users'] = false
    gitlab_rails['omniauth_providers'] = [
        {
          'name' => 'oauth2_generic',
          'app_id' => 'gitlab',
          'app_secret' => 'secret',
          'args' => {
            client_options: {
              # 注意替换下面域名
              'site' => 'http://api.example.choerodon.io',
              'user_info_url' => '/oauth/api/user',
              'authorize_url'=> '/oauth/oauth/authorize',
              'token_url'=> '/oauth/oauth/token'
            },
            user_response_structure: {
              root_path: ['userAuthentication','principal'],
              id_path: ['userAuthentication','principal','userId'],
              attributes: {
                  nickname: 'username',
                  name: 'username',
                  email: 'email'
              }
            },
            name: 'oauth2_generic',
            strategy_class: "OmniAuth::Strategies::ChoerodonOAuth2Generic",
            # 注意替换下面域名
            redirect_url: "https://gitlab.example.choerodon.io/users/auth/oauth2_generic/callback"
          }
        }
      ]
  1. 添加Gitlab Client
  • 在Choerodon的iam-service数据库oauth_client表执行下面语句添加client
    • 在执行里面前请根据实际情况修改参数

    • 记得修改 http://gitlab.example.choerodon.io 的地址为实际的gitlab地址

      INSERT INTO iam_service.oauth_client(name,organization_id,resource_ids,secret,scope,
      authorized_grant_types,web_server_redirect_uri,access_token_validity,refresh_token_validity,
      additional_information,auto_approve,object_version_number,created_by,creation_date,
      last_updated_by,last_update_date) VALUES ('gitlab',1,'default','secret','default',
      'password,implicit,client_credentials,authorization_code,refresh_token',
      'http://gitlab.example.choerodon.io',3600,3600,'{}','default',1,0,NOW(),0,NOW());
      
  1. 添加管理员用户关联

    执行完添加管理员用户关联步骤前请不要去Gitlab界面进行登录操作

    在gitlab数据库的identities表执行下面语句进行用户关联

    INSERT INTO gitlabhq_production.identities(extern_uid, provider, user_id, created_at, updated_at) 
    VALUES ('1', 'oauth2_generic', 1, NOW(), NOW());"