GitLab是一个开源的git仓库服务器。用于实现代码集中托管,分为企业版和CE社区版。
部署方式:软件包部署、容器部署,这里提供docker-compose编排的方式进行部署。
docker-compose编排文件
docker-compose-gitlab.yml
相关文件在 点我进入
# docker-compose.yml文件参考:https://github.com/sameersbn/docker-gitlab/blob/master/docker-compose.yml
# 启动:docker-compose -f docker-compose-gitlab.yml -p gitlab up -d
version: '2.3'
# 网桥 -> 方便相互通讯
networks:
gitlab:
ipam:
driver: default
config:
- subnet: "172.22.2.0/24"
services:
redis:
container_name: gitlab_redis
restart: unless-stopped
image: redis:6.2.6
command:
- --loglevel warning
volumes:
- ./gitlab/redis/data:/data:Z
networks:
gitlab:
ipv4_address: 172.22.2.11
ports:
- "6379:6379"
postgresql:
container_name: gitlab_postgresql
restart: unless-stopped
image: sameersbn/postgresql:12-20200524
volumes:
- ./gitlab/postgresql/data:/var/lib/postgresql:Z
environment:
- DB_USER=gitlab
- DB_PASS=lijing123
- DB_NAME=gitlab_production
- DB_EXTENSION=pg_trgm,btree_gist
networks:
gitlab:
ipv4_address: 172.22.2.22
ports:
- "5432:5432"
gitlab:
container_name: gitlab
restart: unless-stopped
image: sameersbn/gitlab:15.9.1
depends_on:
- redis
- postgresql
ports:
- "3080:80"
- "3022:22"
volumes:
- ./gitlab/data:/home/git/data:Z
healthcheck:
test: ["CMD", "/usr/local/sbin/healthcheck"]
interval: 5m
timeout: 10s
retries: 3
start_period: 5m
environment:
- DEBUG=false
- DB_ADAPTER=postgresql
- DB_HOST=172.22.2.22 # 数据库ip
- DB_PORT=5432 # 数据库端口
- DB_USER=gitlab # 数据库用户
- DB_PASS=lijing123 # 数据库密码
- DB_NAME=gitlab_production # 数据库名称
- REDIS_HOST=172.22.2.11 # Redis ip
- REDIS_PORT=6379 # Redis 端口
- TZ=Asia/Shanghai
- GITLAB_TIMEZONE=Beijing
- GITLAB_HTTPS=false
- SSL_SELF_SIGNED=false
# 这几项是配置在gitlab中克隆仓库时http方式和ssh方式的ip地址和端口
- GITLAB_HOST=192.168.56.101 # 此处请填写宿主机ip TODO
- GITLAB_PORT=3080 # 此处请填写宿主机与gitlab容器服务映射端口,即上面ports暴露的端口
- GITLAB_SSH_PORT=3022 # 此处请填写宿主机与gitlab容器ssh映射端口,即上面ports暴露的端口
- GITLAB_RELATIVE_URL_ROOT=
- GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alphanumeric-string
- GITLAB_ROOT_PASSWORD=
- GITLAB_ROOT_EMAIL=
- GITLAB_NOTIFY_ON_BROKEN_BUILDS=true
- GITLAB_NOTIFY_PUSHER=false
- GITLAB_EMAIL=notifications@example.com
- GITLAB_EMAIL_REPLY_TO=noreply@example.com
- GITLAB_INCOMING_EMAIL_ADDRESS=reply@example.com
- GITLAB_BACKUP_SCHEDULE=daily
- GITLAB_BACKUP_TIME=01:00
- SMTP_ENABLED=false
- SMTP_DOMAIN=www.example.com
- SMTP_HOST=smtp.gmail.com
- SMTP_PORT=587
- SMTP_USER=mailer@example.com
- SMTP_PASS=password
- SMTP_STARTTLS=true
- SMTP_AUTHENTICATION=login
- IMAP_ENABLED=false
- IMAP_HOST=imap.gmail.com
- IMAP_PORT=993
- IMAP_USER=mailer@example.com
- IMAP_PASS=password
- IMAP_SSL=true
- IMAP_STARTTLS=false
- OAUTH_ENABLED=false
- OAUTH_AUTO_SIGN_IN_WITH_PROVIDER=
- OAUTH_ALLOW_SSO=
- OAUTH_BLOCK_AUTO_CREATED_USERS=true
- OAUTH_AUTO_LINK_LDAP_USER=false
- OAUTH_AUTO_LINK_SAML_USER=false
- OAUTH_EXTERNAL_PROVIDERS=
- OAUTH_CAS3_LABEL=cas3
- OAUTH_CAS3_SERVER=
- OAUTH_CAS3_DISABLE_SSL_VERIFICATION=false
- OAUTH_CAS3_LOGIN_URL=/cas/login
- OAUTH_CAS3_VALIDATE_URL=/cas/p3/serviceValidate
- OAUTH_CAS3_LOGOUT_URL=/cas/logout
- OAUTH_GOOGLE_API_KEY=
- OAUTH_GOOGLE_APP_SECRET=
- OAUTH_GOOGLE_RESTRICT_DOMAIN=
- OAUTH_FACEBOOK_API_KEY=
- OAUTH_FACEBOOK_APP_SECRET=
- OAUTH_TWITTER_API_KEY=
- OAUTH_TWITTER_APP_SECRET=
- OAUTH_GITHUB_API_KEY=
- OAUTH_GITHUB_APP_SECRET=
- OAUTH_GITHUB_URL=
- OAUTH_GITHUB_VERIFY_SSL=
- OAUTH_GITLAB_API_KEY=
- OAUTH_GITLAB_APP_SECRET=
- OAUTH_BITBUCKET_API_KEY=
- OAUTH_BITBUCKET_APP_SECRET=
- OAUTH_BITBUCKET_URL=
- OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL=
- OAUTH_SAML_IDP_CERT_FINGERPRINT=
- OAUTH_SAML_IDP_SSO_TARGET_URL=
- OAUTH_SAML_ISSUER=
- OAUTH_SAML_LABEL="Our SAML Provider"
- OAUTH_SAML_NAME_IDENTIFIER_FORMAT=urn:oasis:names:tc:SAML:2.0:nameid-format:transient
- OAUTH_SAML_GROUPS_ATTRIBUTE=
- OAUTH_SAML_EXTERNAL_GROUPS=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_USERNAME=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME=
- OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME=
- OAUTH_CROWD_SERVER_URL=
- OAUTH_CROWD_APP_NAME=
- OAUTH_CROWD_APP_PASSWORD=
- OAUTH_AUTH0_CLIENT_ID=
- OAUTH_AUTH0_CLIENT_SECRET=
- OAUTH_AUTH0_DOMAIN=
- OAUTH_AUTH0_SCOPE=
- OAUTH_AZURE_API_KEY=
- OAUTH_AZURE_API_SECRET=
- OAUTH_AZURE_TENANT_ID=
networks:
gitlab:
ipv4_address: 172.22.2.33
启动
docker-compose -f docker-compose-gitlab.yml -p gitlab up -d
访问:ip地址:3080
一进去需要修改管理员密码,管理员账号为 root 。
将语言调整为中文,网址:http://<GitLab服务器IP>/-/profile/preferences
,在 Localization
一栏将 Language
修改为 Chinese, Simplified - 简体中文
,保存修改后刷新页面即可显示中文。
具体 GitLab的使用请自行搜索相关文档。
评论区