GitLab安装
<h4>docker-安装gitlab-ce</h4>
<p><a href="https://www.jianshu.com/p/080a962c35b6">https://www.jianshu.com/p/080a962c35b6</a></p>
<hr />
<p><strong>拉取gitlab-ce镜像</strong></p>
<pre><code>docker pull gitlab/gitlab-ce</code></pre>
<p><strong>启动gitlab容器</strong></p>
<pre><code>docker run -d -p 443:443 -p 80:80 -p 222:22 \
--name gitlab --restart always \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce
# --restart always:自动启动
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录</code></pre>
<p><strong>配置gitlab</strong></p>
<pre><code>vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://172.16.2.69'
# 时区配置
gitlab_rails['time_zone'] = 'Beijing'
# Email配置
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'GitLab@paxsz.com'
gitlab_rails['gitlab_email_display_name'] = 'GitLab'
gitlab_rails['gitlab_email_reply_to'] = 'noreply@paxsz.com'
# smtp配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "mail.paxsz.com"
gitlab_rails['smtp_port'] = 25
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '172.16.2.69'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
# LDAP认证配置
gitlab_rails['ldap_enabled'] = true
gitlab_rails['prevent_ldap_sign_in'] = false
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS'
main: # 'main' is the GitLab 'provider ID' of this LDAP server
label: '邮箱账号登录'
host: '192.168.0.111'
port: 389
uid: 'sAMAccountName'
bind_dn: 'paxsz\cmadmin'
password: 'xxxxxx'
encryption: 'plain' # "start_tls" or "simple_tls" or "plain"
verify_certificates: false
smartcard_auth: false
active_directory: true
allow_username_or_email_login: false
lowercase_usernames: false
block_auto_created_users: false
base: 'OU=百富公司,DC=paxsz,DC=local'
user_filter: ''
## EE only
group_base: ''
admin_group: ''
sync_ssh_keys: false
EOS
:wq #保存配置文件并退出</code></pre>
<p><strong>重启gitlab容器</strong></p>
<pre><code>docker restart gitlab #重启后会重新应用配置</code></pre>
<p><strong>进入控制台</strong></p>
<pre><code>docker exec -it gitlab bash</code></pre>
<h4>下载地址:<a href="https://packages.gitlab.com/gitlab/gitlab-ce">https://packages.gitlab.com/gitlab/gitlab-ce</a></h4>
<h4>gitlab 备份</h4>
<p>rake gitlab:backup:create SKIP=db,uploads RAILS_ENV=production</p>
<p>/usr/bin/gitlab-rake gitlab:backup:create SKIP=repositories</p>
<h4>gitlab 恢复</h4>
<p>/usr/bin/gitlab-rake gitlab:backup:restore BACKUP=1493107454_2018_04_25_10.6.4-ce</p>
<h4>从备份中排除特定目录</h4>
<p>您可以通过添加环境变量来选择从备份中免除的内容SKIP。可用的选项有:</p>
<p>db (数据库)
uploads (附件)
repositories (Git仓库数据)
builds (CI作业输出日志)
artifacts (CI工作工件)
lfs (LFS对象)
registry (容器注册表图像)
pages (页面内容)</p>
<p>/var/opt/gitlab/backups
/var/opt/gitlab/git-data</p>