Docker-Gitlab-official
官方版gitlab安装使用
docker-statck.yml
文件
1 | version: "3.6" |
portainer->config->name: gitlab_rb
1 | external_url 'http://192.168.1.230:14018/' |
portainer->secrets->name: gitlab_root_password
1 | MySuperSecretAndSecurePass0rd! |
登陆时用户名为root
,密码为gitlab_root_password
的内容
备份
1 | docker exec -t <your container name> gitlab-rake gitlab:backup:create |
恢复
1550500433_2019_02_18_11.6.2_gitlab_backup.tar
文件名分析
11.6.2
gitlab版本号,备份还原版本号要一致
1550500433_2019_02_18_11.6.2
备份文件编号
1 | # 移动到目录/var/opt/gitlab/backups并修改权限 |
重置管理员密码
进入容器执行
1 | gitlab-rails console production |
到此用root用户登录即可
定时备份
1 | docker exec -t $(docker ps | grep "gitlab_mygitlab" | awk '{ print $1 }') gitlab-backup create |
centos7 crontab 定时任务
1 | # (查看状态) |
备份会有如下警告:
因为配置文件和密码文件需要自己手动备份,为了数据安全
1 | Warning: Your gitlab.rb and gitlab-secrets.json files contain sensitive data |
gitlab 升级
详细升级路径见GitLab release and maintenance policy
版本介绍:
规则:(Major).(Minor).(Patch)=(主要版本).(次要版本).(补丁号)
例如,Gitlab版本12.10.6:
12
代表主要版本。主要版本是12.0.0,但通常称为12.0。10
代表次要版本。次要版本是12.10.0,但通常称为12.10。6
代表补丁号。
升级路径为12.10.6
->12.10.14
->13.0.12
->13.2.3
我的理解(仅供参考做好备份):
先将补丁版本升级到最高,然后升级次要版本升级到最高,最后主要版本一级一级的升
可以利用dockerhub的搜索功能,例如搜索框输入12.10,找到最大的补丁版本12.10.14,次要版本的最大输入12.找到次要版本的最大版本
额外
- 进入容器可以执行命令
gitlab-rake gitlab:env:info
更多命令见rake - 备份文件
repositories
中xxx.bundle
可以用git命令解压git clone xxx.bundle xxx
,详情见git bundle
打包
常见问题
gitlab runner 500 error
1
2
3
4
5
6
7
8
9
10
11
12
13ActionView::Template::Error ():
36:
37: .col-sm-6
38: .bs-callout
39: = render partial: 'ci/runner/how_to_setup_runner',
40: locals: { registration_token: Gitlab::CurrentSettings.runners_registration_token,
41: type: 'shared',
42: reset_token_url: reset_registration_token_admin_application_settings_path }
lib/gitlab/crypto_helper.rb:27:in `aes256_gcm_decrypt'
app/models/concerns/token_authenticatable_strategies/encrypted.rb:45:in `get_token'
app/models/concerns/token_authenticatable_strategies/base.rb:33:in `ensure_token!'
app/models/concerns/token_authenticatable.rb:48:in `block in add_authentication_token_field'
app/models/application_setting_implementation.rb:326:in `runners_registration_token'解决:
1
2
3
4
5#需要先还原gtilabb容器的config挂载目录的gitlab-secrets.json,我这里是整个恢复config目录
#进入gitlab容器,执行
root@f51be17d113b:/# gitlab-rails console
然后进入命令行后执行
irb(main):001:0> ApplicationSetting.current.reset_runners_registration_token!