Gitlab部署
--set persistence.enabled=true \
--set persistence.storageClass=nfs-provisioner \
--set image.tag=9.6.11 \
--set postgresqlPassword=password \
--set postgresqlDatabase=gitlabhq_production \
--set initdbScripts.'init\.sql'='
\\c gitlabhq_production;
CREATE EXTENSION IF NOT EXISTS pg_trgm;' \
--version 3.18.4 \
--name gitlab-postgresql \
--namespace c7n-system
部署gitlab所需Redis
helm install c7n/persistentvolumeclaim \
--set accessModes={ReadWriteOnce} \
--set requests.storage=256Mi \
--set storageClassName=nfs-provisioner \
--version 0.1.0 \
--name gitlab-redis-pvc \
--namespace c7n-system
创建gitlab所需PV和PVC
helm install c7n/persistentvolumeclaim \
--set accessModes={ReadWriteOnce} \
--set requests.storage=2Gi \
--version 0.1.0 \
--name gitlab-pvc \
--namespace c7n-system
helm install c7n/gitlab \
--set persistence.enabled=true \
--set persistence.existingClaim=gitlab-pvc \
--set env.config.GITLAB_EXTERNAL_URL=http://gitlab.example.choerodon.io \
--set env.config.CHOERODON_OMNIAUTH_ENABLED=false \
--set env.config.GITLAB_DEFAULT_CAN_CREATE_GROUP=true \
--set env.config.DB_ADAPTER=postgresql \
--set env.config.DB_HOST=gitlab-postgresql-postgresql.c7n-system.svc \
--set env.config.DB_PORT=5432 \
--set env.config.DB_USERNAME=postgres \
--set env.config.DB_PASSWORD=password \
--set env.config.DB_DATABASE=gitlabhq_production \
--set env.config.REDIS_HOST=gitlab-redis.c7n-system.svc \
--set env.config.SMTP_ENABLE=false \
--set env.config.SMTP_ADDRESS=smtp.mxhichina.com \
--set env.config.SMTP_PORT=465 \
--set env.config.SMTP_USER_NAME=git.sys@example.choerodon.io \
--set env.config.SMTP_PASSWORD=password \
--set env.config.SMTP_DOMAIN=smtp.mxhichina.com \
--set env.config.SMTP_AUTHENTICATION=login \
--set env.config.GITLAB_EMAIL_FROM=git.sys@example.choerodon.io \
--set env.config.SMTP_ENABLE_STARTTLS_AUTO=true \
--set env.config.SMTP_TLS=true \
--set env.config.PROMETHEUS_ENABLE=false \
--set env.config.NODE_EXPORTER_ENABLE=false \
--set env.config.UNICORN_WORKERS=3 \
--set env.config.UNICORN_TIMEOUT=60 \
--set service.enabled=true \
--set service.ssh.nodePort=32222 \
--set ingress.enabled=true \
--version 0.5.0 \
--name gitlab \
--namespace c7n-system
验证部署
更新Gitlab配置
- 在执行里面前请根据实际情况修改参数
- 记得修改的地址为实际的gitlab地址
helm install c7n/mysql-client \
--set env.MYSQL_HOST=c7n-mysql.c7n-system.svc \
--set env.MYSQL_PORT=3306 \
--set env.MYSQL_USER=root \
--set env.MYSQL_PASS=password \
--set env.SQL_SCRIPT="\
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());" \
--version 0.1.0 \
--name gitlab-client \
--namespace c7n-system
添加管理员用户关联
helm install c7n/postgresql-client \
--set env.PG_HOST=gitlab-postgresql-postgresql.c7n-system.svc \
--set env.PG_PORT=5432 \
--set env.PG_USER=postgres \
--set env.PG_PASS=password \
--set env.PG_DBNAME=gitlabhq_production \
--set env.SQL_SCRIPT="\
INSERT INTO identities(extern_uid\, provider\, user_id\, created_at\, updated_at) \
VALUES ('1'\, 'oauth2_generic'\, 1\, NOW()\, NOW());" \
--version 0.1.0 \
--name gitlab-user-identities \
验证更新