<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Gitlab on 计算机知识分享网</title><link>https://jiaochengziyuan.cn/tags/gitlab/</link><description>Recent content in Gitlab on 计算机知识分享网</description><generator>Hugo</generator><language>zh-CN</language><managingEditor>986945193@qq.com (David)</managingEditor><webMaster>986945193@qq.com (David)</webMaster><copyright>Copyright © 2014-至今, David.</copyright><lastBuildDate>Tue, 15 Jul 2025 09:52:15 +0800</lastBuildDate><follow_challenge><feedId>00000000000000000</feedId><userId>00000000000000000</userId></follow_challenge><atom:link href="https://jiaochengziyuan.cn/tags/gitlab/index.xml" rel="self" type="application/rss+xml"/><item><title>【gitlab】Docker搭建本地gitlab，使用Git服务托管代码</title><link>https://jiaochengziyuan.cn/p/gitlabdocker%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0gitlab%E4%BD%BF%E7%94%A8git%E6%9C%8D%E5%8A%A1%E6%89%98%E7%AE%A1%E4%BB%A3%E7%A0%81/</link><pubDate>Tue, 15 Jul 2025 09:52:15 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlabdocker%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0gitlab%E4%BD%BF%E7%94%A8git%E6%9C%8D%E5%8A%A1%E6%89%98%E7%AE%A1%E4%BB%A3%E7%A0%81/</guid><description>&lt;h5 id="1-首先下载gitlab的镜像"&gt;1 首先下载gitlab的镜像&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull gitlab/gitlab-ce:latest&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="2-在服务器上创建目录存放gitlab数据"&gt;2 在服务器上创建目录，存放gitlab数据&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p /home/work/david/conf&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p /home/work/david/logs&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p home/work/david/data/gitlab&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="3-创建容器启动脚本如果有以前执行过的则停止并删除容器"&gt;3 创建容器启动脚本。如果有以前执行过的，则停止并删除容器。&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo docker stop gitlab &amp;amp;&amp;amp; sudo docker rm gitlab&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="4-启动并设置端口号"&gt;4 启动，并设置端口号&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo docker run &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;d \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;p &lt;span style="color:#0550ae"&gt;2222&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;22&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;p &lt;span style="color:#0550ae"&gt;8888&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;80&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;p &lt;span style="color:#0550ae"&gt;8443&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;443&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;etc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;localtime&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;etc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;localtime&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;ro \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;work&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;david&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;conf&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;etc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;work&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;david&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;logs&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#6639ba"&gt;log&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;work&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;david&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;data&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;data&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;opt&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;h gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;name gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;privileged&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;ce&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;latest&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="也可以指定版本号"&gt;也可以指定版本号&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo docker run &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;d \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;p &lt;span style="color:#0550ae"&gt;2222&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;22&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;p &lt;span style="color:#0550ae"&gt;8888&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;80&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;p &lt;span style="color:#0550ae"&gt;8443&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;443&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;etc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;localtime&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;etc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;localtime&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;ro \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;work&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;david&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;conf&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;etc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;work&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;david&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;logs&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#6639ba"&gt;log&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;work&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;david&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;data&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;data&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;opt&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;h gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;name gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;privileged&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;ce&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;12.3&lt;/span&gt;&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;5&lt;/span&gt;&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;ce&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="5-登录验证ip地址加端口号访问即可"&gt;5 登录验证。ip地址加端口号访问即可。&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;192.168.1.111:8888&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="gitlab版本可以使用"&gt;gitlab版本可以使用&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull gitlab/gitlab-ce:12.3.5-ce.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull gitlab/gitlab-ce:15.2.2-ce.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>【gitlab】利用bfg清理git仓库的无用大文件</title><link>https://jiaochengziyuan.cn/p/gitlab%E5%88%A9%E7%94%A8bfg%E6%B8%85%E7%90%86git%E4%BB%93%E5%BA%93%E7%9A%84%E6%97%A0%E7%94%A8%E5%A4%A7%E6%96%87%E4%BB%B6/</link><pubDate>Sat, 02 Dec 2023 14:53:33 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlab%E5%88%A9%E7%94%A8bfg%E6%B8%85%E7%90%86git%E4%BB%93%E5%BA%93%E7%9A%84%E6%97%A0%E7%94%A8%E5%A4%A7%E6%96%87%E4%BB%B6/</guid><description>&lt;h5 id="下载代码"&gt;下载代码&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone --mirror http://10.168.1.121:8888/davidzheng/david-admin&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="进入下载的目录并且查看当前仓库大小并且筛选出大文件"&gt;进入下载的目录，并且查看当前仓库大小，并且筛选出大文件&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd david-admin.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 查看仓库大小&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git count-objects -vH&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 筛选出大文件&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git rev-list --objects --all | grep &amp;#34;$(git verify-pack -v ./objects/pack/*.idx | sort -k 3 -n | tail -10 | awk &amp;#39;{print$1}&amp;#39;)&amp;#34;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="删除大文件这里比如是resourcespakicudtldatappasar"&gt;删除大文件，这里比如是：&lt;code&gt;resources.pak&lt;/code&gt;、&lt;code&gt;icudtl.dat&lt;/code&gt;、&lt;code&gt;app.asar&lt;/code&gt;&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 在david-admin.git同级目录，然后执行删除&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;java -jar E:/bfg-1.14.0.jar --delete-files resources.pak david-admin.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;java -jar E:/bfg-1.14.0.jar --delete-files icudtl.dat david-admin.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;java -jar E:/bfg-1.14.0.jar --delete-files app.asar david-admin.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="最后再进入当前项目目录压缩并推送到新项目地址"&gt;最后再进入当前项目目录，压缩并推送到新项目地址&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 压缩代码，并清空git reflog日志&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git reflog expire --expire=now --all &amp;amp;&amp;amp; git gc --prune=now --aggressive&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git push &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 新的url&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git push --mirror http://10.168.1.121:8888/device/david-new-admin &#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="如果---mirror推送不成功可以使用下面命令"&gt;如果 &lt;code&gt;--mirror&lt;/code&gt;推送不成功，可以使用下面命令&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 关闭gitlab受保护的分支功能。&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone --bare https://github.com/qq986945193/old-repository.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd old-repository&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git push --mirror https://github.com/qq986945193/new-repository.git&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="参考地址"&gt;参考地址&lt;/h5&gt;&#10;&lt;p&gt;&lt;a href="https://gggggravel.com/post/%E4%BD%BF%E7%94%A8bfg%E7%BB%99git%E4%BB%93%E5%BA%93%E7%98%A6%E8%BA%AB/" target="_blank" rel="noopener noreferrer"&gt;https://gggggravel.com/post/%E4%BD%BF%E7%94%A8bfg%E7%BB%99git%E4%BB%93%E5%BA%93%E7%98%A6%E8%BA%AB/&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://rtyley.github.io/bfg-repo-cleaner/" target="_blank" rel="noopener noreferrer"&gt;https://rtyley.github.io/bfg-repo-cleaner/&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://qa.1r1g.com/sf/ask/2398568651/" target="_blank" rel="noopener noreferrer"&gt;https://qa.1r1g.com/sf/ask/2398568651/&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;</description></item><item><title>【gitlab】Docker安装的gitlab如何重置管理员root密码</title><link>https://jiaochengziyuan.cn/p/gitlabdocker%E5%AE%89%E8%A3%85%E7%9A%84gitlab%E5%A6%82%E4%BD%95%E9%87%8D%E7%BD%AE%E7%AE%A1%E7%90%86%E5%91%98root%E5%AF%86%E7%A0%81/</link><pubDate>Thu, 11 Aug 2022 17:34:27 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlabdocker%E5%AE%89%E8%A3%85%E7%9A%84gitlab%E5%A6%82%E4%BD%95%E9%87%8D%E7%BD%AE%E7%AE%A1%E7%90%86%E5%91%98root%E5%AF%86%E7%A0%81/</guid><description>&lt;h5 id="1进入gitlab容器"&gt;1、进入gitlab容器&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker exec -it gitlab bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="二进入gitlab控制台"&gt;二、进入gitlab控制台&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab-rails console production&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;或者&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab-rails console -e production&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="三查找用户对象"&gt;三、查找用户对象&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user = User.where(id: 1).first&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="四重置密码"&gt;四、重置密码&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 设置新的密码&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user.password = &amp;#39;qq986945193&amp;#39; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;#确认密码&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user.password_confirmation = &amp;#39;qq986945193&amp;#39; &#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="五保存"&gt;五、保存&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;user.save!&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;当发现&lt;code&gt;=&amp;gt; true&lt;/code&gt;时表示重置成功&lt;/p&gt;&#10;&lt;h5 id="六退出"&gt;六、退出&lt;/h5&gt;&#10;&lt;p&gt;ctrl+d或exit&lt;/p&gt;&#10;&lt;h5 id="七重启gitlab即可"&gt;七、重启gitlab即可&lt;/h5&gt;&#10;&lt;h5 id="gitlab版本可以使用"&gt;gitlab版本可以使用&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull gitlab/gitlab-ce:12.3.5-ce.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull gitlab/gitlab-ce:15.2.2-ce.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>【gitlab】Docker搭建本地gitlab初始化管理员账号和密码</title><link>https://jiaochengziyuan.cn/p/gitlabdocker%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0gitlab%E5%88%9D%E5%A7%8B%E5%8C%96%E7%AE%A1%E7%90%86%E5%91%98%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81/</link><pubDate>Thu, 11 Aug 2022 17:34:14 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlabdocker%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0gitlab%E5%88%9D%E5%A7%8B%E5%8C%96%E7%AE%A1%E7%90%86%E5%91%98%E8%B4%A6%E5%8F%B7%E5%92%8C%E5%AF%86%E7%A0%81/</guid><description>&lt;h5 id="1这个管理员账号的账号名为-root密码且会在-24-小时后自动被删除存放在"&gt;1这个管理员账号的账号名为 root，密码且会在 24 小时后自动被删除。存放在&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; /etc/gitlab/initial_root_password&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;实际上，在第一次使用命令 gitlab-ctl reconfigure 初始化 GitLab 配置时，GitLab 其实已经提示过这些信息，只是很多人对英文不敏感，尤其是一长段英文中夹杂着一个重要信息时。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Infra Phase complete, 545/1516 resources updated in 04 minutes 26 seconds&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Notes:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Default admin account has been configured with following details:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Username: root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Password: You didn&amp;#39;t opt-in to print initial root password to STDOUT.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;NOTE: Because these credentials might be present in your log files in plain text, it is highly recommended to reset the password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab Reconfigured!&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="我们可以进入容器并得到密码"&gt;我们可以进入容器，并得到密码&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker exec -it 3bebf1976b7b /bin/bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@gitlab:/# cd /etc/gitlab/&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@gitlab:/etc/gitlab# ls&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab-secrets.json initial_root_password ssh_host_ecdsa_key.pub ssh_host_ed25519_key.pub ssh_host_rsa_key.pub&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab.rb ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key trusted-certs&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;#编辑查看&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vi initial_root_password&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-mysql" data-lang="mysql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root&lt;span style="color:#0550ae"&gt;@&lt;/span&gt;gitlab&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;etc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#57606a"&gt;# vi initial_root_password &#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# WARNING: This value is valid only in the following conditions&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails[&amp;#39;initial_root_password&amp;#39;]` setting in `gitlab.rb`, it was&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 2. Password hasn&amp;#39;t been changed manually, either via UI or via command line.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;#&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# If the password shown here doesn&amp;#39;t work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-r&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Password&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#fff"&gt; &lt;/span&gt;gaG1KAJtDFFx&lt;span style="color:#0550ae"&gt;+&lt;/span&gt;bZ5q9U0&lt;span style="color:#0550ae"&gt;+&lt;/span&gt;B&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;XGanIWyFTu5eCTW&lt;span style="color:#0550ae"&gt;+&lt;/span&gt;PepPzQTI&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#fff"&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="gitlab版本可以使用"&gt;gitlab版本可以使用&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull gitlab/gitlab-ce:12.3.5-ce.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker pull gitlab/gitlab-ce:15.2.2-ce.0&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>【gitlab】docker-compose安装的gitlab数据的备份与还原</title><link>https://jiaochengziyuan.cn/p/gitlabdocker-compose%E5%AE%89%E8%A3%85%E7%9A%84gitlab%E6%95%B0%E6%8D%AE%E7%9A%84%E5%A4%87%E4%BB%BD%E4%B8%8E%E8%BF%98%E5%8E%9F/</link><pubDate>Wed, 08 Aug 2018 11:11:11 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlabdocker-compose%E5%AE%89%E8%A3%85%E7%9A%84gitlab%E6%95%B0%E6%8D%AE%E7%9A%84%E5%A4%87%E4%BB%BD%E4%B8%8E%E8%BF%98%E5%8E%9F/</guid><description>&lt;h5 id="使用docker-compose安装的gitlab版本sameersbngitlab1235"&gt;使用docker-compose安装的gitlab版本&lt;code&gt;sameersbn/gitlab:12.3.5&lt;/code&gt;&lt;/h5&gt;&#10;&lt;h5 id="我们可以开启自动备份数据的功能也可以手动执行备份命令备份时关闭对应的容器"&gt;我们可以开启自动备份数据的功能，也可以手动执行备份命令，备份时关闭对应的容器。&lt;/h5&gt;&#10;&lt;h5 id="使用docker-compose安装的备份时可以使用以下命令执行备份"&gt;使用docker-compose安装的备份时可以使用以下命令执行备份。&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose rm -sf gitlab &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose run --rm gitlab app:rake gitlab:backup:create&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="查看可以还原的tar包"&gt;查看可以还原的tar包&lt;/h5&gt;&#10;&lt;p&gt;将tar包放到：&lt;code&gt;/docker-gitlab/gitlab-data/backups&lt;/code&gt;目录。&#10;如：&lt;code&gt;/root/QQ986945193/docker-gitlab/gitlab-data/backups/1660189640_2022_08_11_12.3.5_gitlab_backup.tar&lt;/code&gt;&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;#从默认备份恢复（backups目录下只有一个备份文件时）&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose run --rm gitlab app:rake gitlab:backup:restore &#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="执行还原命令这里文件名去掉_gitlab_backuptar"&gt;执行还原命令，这里文件名去掉&lt;code&gt;_gitlab_backup.tar&lt;/code&gt;&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose run --rm gitlab app:rake gitlab:backup:restore BACKUP=1515629493_2020_12_06_13.10.0 &#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;参考地址：&#10;&lt;a href="https://github.com/sameersbn/docker-gitlab" target="_blank" rel="noopener noreferrer"&gt;https://github.com/sameersbn/docker-gitlab&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;</description></item><item><title>【gitlab】docker-compose查看gitlab中的默认自动备份任务</title><link>https://jiaochengziyuan.cn/p/gitlabdocker-compose%E6%9F%A5%E7%9C%8Bgitlab%E4%B8%AD%E7%9A%84%E9%BB%98%E8%AE%A4%E8%87%AA%E5%8A%A8%E5%A4%87%E4%BB%BD%E4%BB%BB%E5%8A%A1/</link><pubDate>Wed, 08 Aug 2018 11:11:11 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlabdocker-compose%E6%9F%A5%E7%9C%8Bgitlab%E4%B8%AD%E7%9A%84%E9%BB%98%E8%AE%A4%E8%87%AA%E5%8A%A8%E5%A4%87%E4%BB%BD%E4%BB%BB%E5%8A%A1/</guid><description>&lt;h5 id="使用docker-compose安装的gitlab版本sameersbngitlab1235"&gt;使用docker-compose安装的gitlab版本&lt;code&gt;sameersbn/gitlab:12.3.5&lt;/code&gt;&lt;/h5&gt;&#10;&lt;h5 id="我们首先打开自动备份的功能编辑docker-composeyml"&gt;我们首先打开自动备份的功能，编辑&lt;code&gt;docker-compose.yml&lt;/code&gt;&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; # 这里是说明每天：三点47分备份。&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - GITLAB_BACKUP_SCHEDULE=daily&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - GITLAB_BACKUP_TIME=03:47&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;可以将映像配置为自动备份&lt;code&gt;daily&lt;/code&gt;，&lt;code&gt;weekly&lt;/code&gt;或&lt;code&gt;monthly&lt;/code&gt;使用&lt;code&gt;GITLAB_BACKUP_SCHEDULE&lt;/code&gt;配置选项。&lt;/p&gt;&#10;&lt;p&gt;创建每日备份&lt;code&gt;GITLAB_BACKUP_TIME&lt;/code&gt;，默认为&lt;code&gt;04:00&lt;/code&gt;每天&lt;code&gt;hh:mm&lt;/code&gt;。每周备份与每日备份同时创建。每月 1 日与每日备份同时创建每月备份。&lt;/p&gt;&#10;&lt;p&gt;默认情况下，启用自动备份后，备份会保留 7 天。当禁用自动备份时，备份会无限期保留。可以通过&lt;code&gt;GITLAB_BACKUP_EXPIRY&lt;/code&gt;选项配置此行为。&lt;/p&gt;&#10;&lt;h5 id="通过首先进入到gitlab的容器中"&gt;通过首先进入到gitlab的容器中&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[root@localhost docker-gitlab]# docker ps&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;e261800aaf78 sameersbn/gitlab:12.3.5 &amp;#34;/sbin/entrypoint....&amp;#34; About a minute ago Up About a minute 443/tcp, 0.0.0.0:10022-&amp;gt;22/tcp, 0.0.0.0:10080-&amp;gt;80/tcp docker-gitlab_gitlab_1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;9a75d45b0b78 sameersbn/postgresql:10-2 &amp;#34;/sbin/entrypoint.sh&amp;#34; 48 minutes ago Up About a minute 5432/tcp docker-gitlab_postgresql_1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;f81cbcefb640 sameersbn/redis:4.0.9-2 &amp;#34;/sbin/entrypoint....&amp;#34; 48 minutes ago Up About a minute 6379/tcp docker-gitlab_redis_1&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;[root@localhost docker-gitlab]# docker exec -it e261800aaf78 /bin/bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="这里它的默认crontab定时任务存在git账户中切换账户查看"&gt;这里它的默认&lt;code&gt;crontab&lt;/code&gt;定时任务存在git账户中，切换账户查看&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;root@e261800aaf78:/home/git/gitlab# su git&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git@e261800aaf78:~/gitlab$ crontab -l&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;47 03 * * * /bin/bash -l -c &amp;#39;cd /home/git/gitlab &amp;amp;&amp;amp; bundle exec rake gitlab:backup:create SKIP= RAILS_ENV=production&amp;#39;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git@e261800aaf78:~/gitlab$ date&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Thu Aug 11 03:44:37 Asia 2022&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="通过以上就可以看到备份定时任务已经覆盖了时间"&gt;通过以上就可以看到备份定时任务已经覆盖了时间&lt;/h5&gt;&#10;&lt;p&gt;参考地址：&#10;&lt;a href="https://github.com/sameersbn/docker-gitlab" target="_blank" rel="noopener noreferrer"&gt;https://github.com/sameersbn/docker-gitlab&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;</description></item><item><title>【gitlab】docker安装gitlab数据的自动备份</title><link>https://jiaochengziyuan.cn/p/gitlabdocker%E5%AE%89%E8%A3%85gitlab%E6%95%B0%E6%8D%AE%E7%9A%84%E8%87%AA%E5%8A%A8%E5%A4%87%E4%BB%BD/</link><pubDate>Wed, 08 Aug 2018 11:11:11 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlabdocker%E5%AE%89%E8%A3%85gitlab%E6%95%B0%E6%8D%AE%E7%9A%84%E8%87%AA%E5%8A%A8%E5%A4%87%E4%BB%BD/</guid><description>&lt;h4 id="使用docker安装的gitlab版本"&gt;使用docker安装的gitlab版本&lt;/h4&gt;&#10;&lt;h4 id="手动备份"&gt;手动备份&lt;/h4&gt;&#10;&lt;h5 id="因为采用docker安装只有进入gitlab的docker容器本例子名字为gitlab内有关于gitlab-rake-gitlabbackupcreate-命令只能在gitlab容器内使用所以在手动备份时需要进入容器"&gt;因为采用docker安装，只有进入GitLab的docker容器（本例子名字为gitlab）内,有关于&lt;code&gt;gitlab-rake gitlab:backup:create&lt;/code&gt; 命令只能在gitlab容器内使用，所以在手动备份时，需要进入容器。&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker exec &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;it gitlab的容器名字或者id bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 默认存放目录&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;opt&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;backup&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 执行备份命令&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;rake gitlab&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;backup&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;create&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; docker exec -t gitlab gitlab-rake gitlab:backup:create&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;可以在系统的&lt;code&gt;/home/work/ins/data/gitlab/data/backups&lt;/code&gt;目录下会多一个&lt;code&gt;“**.tar&lt;/code&gt;”的文件。这里指自己挂载的目录&lt;/p&gt;&#10;&lt;h4 id="利用crontab表达式-自动备份gitlab代码"&gt;利用crontab表达式 自动备份gitlab代码&lt;/h4&gt;&#10;&lt;h5 id="1crontab的常用命令介绍"&gt;1、crontab的常用命令介绍&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;sbin&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;service crond start &lt;span style="color:#f6f8fa;background-color:#82071e"&gt;服务启动&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;sbin&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;service crond stop &lt;span style="color:#f6f8fa;background-color:#82071e"&gt;服务停止&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;sbin&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;service crond restart &lt;span style="color:#f6f8fa;background-color:#82071e"&gt;服务重新启动&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;sbin&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;service crond reload &lt;span style="color:#f6f8fa;background-color:#82071e"&gt;服务重新加载配置&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;系统在root用户下，&lt;code&gt;crontab -e &lt;/code&gt;命令编辑设置定时任务。&lt;/p&gt;&#10;&lt;h5 id="2设置cron服务开机启动"&gt;2、设置cron服务开机启动&lt;/h5&gt;&#10;&lt;p&gt;在&lt;code&gt;/etc/rc.d/rc.local&lt;/code&gt;脚本中加入&lt;code&gt;/sbin/service crond start &lt;/code&gt;即可。&lt;/p&gt;&#10;&lt;h5 id="3cron基本格式介绍"&gt;3、cron基本格式介绍&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;* * * * * command&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;分 时 日 月 周 命令&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;其中，&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;第1列表示分钟，1~59，每分钟用*表示&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;第2列表示小时，1~23，（0表示0点）&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;第3列表示日期，1~31&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;第4列表示月份，1~12&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;第5列表示星期，0~6（0表示星期天）&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;第六列表示要运行的命令。&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="4gitlab自动备份"&gt;4、GitLab自动备份&lt;/h5&gt;&#10;&lt;p&gt;新建备份的sh文件：传递$1变量，在/root 下新建&lt;code&gt;gitlab_backup.sh&lt;/code&gt; ，内容如下：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;#！ /bin/bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;case &amp;#34;$1&amp;#34; in &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; start)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; docker exec gitlab gitlab-rake gitlab:backup:create&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;esac&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;测试 执行&lt;code&gt;gitlab_backup.sh start&lt;/code&gt;，如果&lt;code&gt;/home/work/ins/data/gitlab/data/backups&lt;/code&gt; 下有新生成的tar包，即可说明sh文件写对了。&lt;/p&gt;&#10;&lt;p&gt;新增定时任务：使用&lt;code&gt;crontab -e &lt;/code&gt;进入定时任务编辑界面，新增如下内容：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;0 2 * * * /root/gitlab_backup.sh start&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;重新加载配置和启动或重启cron服务即可。&lt;/p&gt;&#10;&lt;p&gt;对于开机自启动cron服务，需要reboot验证。&lt;/p&gt;&#10;&lt;h4 id="定时将备份上传到另一台服务器"&gt;定时将备份上传到另一台服务器&lt;/h4&gt;&#10;&lt;p&gt;主要通过scp在Linux系统之间进行文件传输，scp是基于SSH登录的，需要我们进行免密码登录的操作。&lt;/p&gt;&#10;&lt;h5 id="1安装sshpass"&gt;1、安装sshpass&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar xvzf sshpass-1.05.tar.gz &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 进入解压后文件夹&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;./configure &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;make install&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="2设置gitlab_uploadsh"&gt;2、设置gitlab_upload.sh&lt;/h5&gt;&#10;&lt;p&gt;在&lt;code&gt;/root &lt;/code&gt;下新建&lt;code&gt;gitlab_upload.sh&lt;/code&gt; ，内容如下：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;#! /bin/bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#953800"&gt;backdir&lt;/span&gt;&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#39;/home/work/ins/data/gitlab/data/backups&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#953800"&gt;latestFileName&lt;/span&gt;&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0a3069"&gt;`&lt;/span&gt;ls &lt;span style="color:#953800"&gt;$backdir&lt;/span&gt; -t&lt;span style="color:#1f2328"&gt;|&lt;/span&gt;head -n 1&lt;span style="color:#0a3069"&gt;`&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6639ba"&gt;cd&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#953800"&gt;$backdir&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sshpass -p &lt;span style="color:#0550ae"&gt;[&lt;/span&gt;passwd&lt;span style="color:#0550ae"&gt;]&lt;/span&gt; scp &lt;span style="color:#0a3069"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#953800"&gt;$latestFileName&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;&lt;/span&gt; root@&lt;span style="color:#0550ae"&gt;[&lt;/span&gt;hostID&lt;span style="color:#0550ae"&gt;]&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如： &lt;code&gt;sshpass -p '123456' scp root@host_ip:/home/test/t ./tmp/&lt;/code&gt;&#10;执行脚本没问题，就可以，设置到crontab表达式中。&lt;/p&gt;&#10;</description></item><item><title>【gitlab】docker安装gitlab数据还原</title><link>https://jiaochengziyuan.cn/p/gitlabdocker%E5%AE%89%E8%A3%85gitlab%E6%95%B0%E6%8D%AE%E8%BF%98%E5%8E%9F/</link><pubDate>Wed, 08 Aug 2018 11:11:11 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlabdocker%E5%AE%89%E8%A3%85gitlab%E6%95%B0%E6%8D%AE%E8%BF%98%E5%8E%9F/</guid><description>&lt;h4 id="首先必须使用同样的gitlab版本不然可能会报错比如"&gt;首先必须使用同样的gitlab版本，不然可能会报错。比如：&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;GitLab version mismatch:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Your current GitLab version (15.2.2) differs from the GitLab version in the backup!&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Please switch to the following version and try again:&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; version: 12.3.5&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="新的服务器上运行gitlab"&gt;新的服务器上运行gitlab&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo docker run &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;d \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;p &lt;span style="color:#0550ae"&gt;443&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;443&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;p &lt;span style="color:#0550ae"&gt;10022&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;22&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;p &lt;span style="color:#0550ae"&gt;10080&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;80&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;docker&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;config&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;etc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;docker&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;logs&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#6639ba"&gt;log&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;v &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;docker&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;data&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;opt&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;hostname gitlab&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;jiaochengziyuan&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;cn \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;privileged&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;name gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;ce&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;14.1&lt;/span&gt;&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;ce&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="正常启动后停止"&gt;正常启动后停止&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; docker stop gitlab&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="复制备份的tar包文件到新服务器上并添加777权限如"&gt;复制备份的tar包文件到新服务器上。并添加777权限。如：&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# 默认存放目录&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;opt&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;backup&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cp &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;work&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;david&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;data&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;data&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;backups&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#0550ae"&gt;1660179659&lt;/span&gt;_2022_08_11_14&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;1.2&lt;/span&gt;_gitlab_backup&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;tar &lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;chmod &lt;span style="color:#0550ae"&gt;777&lt;/span&gt; &lt;span style="color:#0550ae"&gt;*.&lt;/span&gt;tar&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="启动gitlab容器并且进入容器并停用相关服务"&gt;启动gitlab容器，并且进入容器，并停用相关服务&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 启动服务 &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker start gitlab&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 进入容器 &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker exec -it gitlab /bin/bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# 容器内停用相关服务&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab-ctl stop unicorn&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab-ctl stop sidekiq&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="执行还原命令"&gt;执行还原命令&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab-rake gitlab:backup:restore BACKUP=1660179659_2022_08_11_14.1.2&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="最后重启相关服务区并在浏览器内容验证"&gt;最后，重启相关服务区，并在浏览器内容验证&lt;/h4&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab-ctl restart&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item><item><title>【gitlab】gitlab版本升级以及数据迁移</title><link>https://jiaochengziyuan.cn/p/gitlabgitlab%E7%89%88%E6%9C%AC%E5%8D%87%E7%BA%A7%E4%BB%A5%E5%8F%8A%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB/</link><pubDate>Wed, 08 Aug 2018 11:11:11 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlabgitlab%E7%89%88%E6%9C%AC%E5%8D%87%E7%BA%A7%E4%BB%A5%E5%8F%8A%E6%95%B0%E6%8D%AE%E8%BF%81%E7%A7%BB/</guid><description>&lt;h5 id="升级说明"&gt;升级说明&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;GitLab不能直接跳过主要版本（例如，一步从 10.3 转到 12.7）&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="gitlab的跨版本升级需要先升级到当前大版本的最高版本后再升到下一版本"&gt;GitLab的跨版本升级，需要先升级到当前大版本的最高版本后再升到下一版本。&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;8.11.Z -&amp;gt; 8.12.0 -&amp;gt; 8.17.7 -&amp;gt; 9.5.10 -&amp;gt; 10.8.7 -&amp;gt; 11.11.8 -&amp;gt; 12.0.12 -&amp;gt; 12.1.17 -&amp;gt; 12.10.14 -&amp;gt; 13.0.14 -&amp;gt; 13.1.11 -&amp;gt; 13.8.8 -&amp;gt; 13.12.15 -&amp;gt; 14.0.12 -&amp;gt; 14.3.6 -&amp;gt; 14.9.5 -&amp;gt; 14.10.Z -&amp;gt; 15.0.Z -&amp;gt; latest 15.Y.Z&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="确认升级影响"&gt;确认升级影响&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;• 对于单节点安装，GitLab 在升级过程中对用户不可用。用户的 Web 浏览器显示Deploy in progress消息或502错误。&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="这里演示1354升到最近的是1388逻辑就是提前备份数据然后在新版本上面去还原数据"&gt;这里演示&lt;code&gt;13.5.4&lt;/code&gt;，升到最近的是&lt;code&gt;13.8.8&lt;/code&gt;。逻辑就是提前备份数据，然后在新版本上面去还原数据&lt;/h5&gt;&#10;&lt;h5 id="在旧版本的gitlab中执行备份命令"&gt;在旧版本的gitlab中执行备份命令&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab-rake gitlab:backup:create&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="然后停止旧容器并启动一个新版本的容器"&gt;然后停止旧容器，并启动一个新版本的容器&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;detach \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;publish &lt;span style="color:#0550ae"&gt;81&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;80&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;--&lt;/span&gt;name gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;--&lt;/span&gt;restart always \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;--&lt;/span&gt;volume &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;davidspace&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;sdc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;config&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;etc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;--&lt;/span&gt;volume &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;davidspace&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;sdc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;logs&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#6639ba"&gt;log&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0550ae"&gt;--&lt;/span&gt;volume &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;davidspace&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;sdc&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;data&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;opt&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;ce&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;13.8&lt;/span&gt;&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;8&lt;/span&gt;&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;ce&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;0&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="查看原来的代码是否正常正常则不需要恢复备份因为有挂在数据"&gt;查看原来的代码是否正常，正常则不需要恢复备份。因为有挂在数据，&lt;/h5&gt;&#10;&lt;h5 id="如果不正常则进入容器恢复备份"&gt;如果不正常，则进入容器，恢复备份。&lt;/h5&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker exec -i -t gitlab /bin/bash&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;#恢复备份&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab-rake gitlab:backup:restore BACKUP=xxx_2021_11_02_13.5.4 &#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h5 id="最后在观察看数据是否正常测试升级是否完成"&gt;最后在观察看数据是否正常，测试升级是否完成。&lt;/h5&gt;&#10;&lt;h5 id="参考地址"&gt;参考地址：&lt;/h5&gt;&#10;&lt;p&gt;&lt;a href="https://docs.gitlab.com/ee/update/index.html#upgrade-paths" target="_blank" rel="noopener noreferrer"&gt;https://docs.gitlab.com/ee/update/index.html#upgrade-paths&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://docs.gitlab.com/ee/install/docker.html" target="_blank" rel="noopener noreferrer"&gt;https://docs.gitlab.com/ee/install/docker.html&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;</description></item><item><title>【gitlab】gitlab的一些常用配置</title><link>https://jiaochengziyuan.cn/p/gitlabgitlab%E7%9A%84%E4%B8%80%E4%BA%9B%E5%B8%B8%E7%94%A8%E9%85%8D%E7%BD%AE/</link><pubDate>Wed, 08 Aug 2018 11:11:11 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlabgitlab%E7%9A%84%E4%B8%80%E4%BA%9B%E5%B8%B8%E7%94%A8%E9%85%8D%E7%BD%AE/</guid><description>&lt;h6 id="关闭用户注册功能"&gt;关闭用户注册功能&lt;/h6&gt;&#10;&lt;p&gt;默认情况下，&lt;code&gt;GitLab&lt;/code&gt; 允许用户在网站上自由注册。最好关闭。通过 你的 &lt;code&gt;GitLab&lt;/code&gt; 域名&lt;code&gt;/api/v4/application/settings&lt;/code&gt; 可以看到所有参数，其中 &lt;code&gt;signup_enabled&lt;/code&gt; 为 &lt;code&gt;true&lt;/code&gt; 时允许用户自由注册。&lt;/p&gt;&#10;&lt;p&gt;关闭方法：登录 &lt;code&gt;root&lt;/code&gt; 用户，进入 &lt;code&gt;/admin/application_settings Admin Area&lt;/code&gt;，找到&lt;code&gt;“注册限制”&lt;/code&gt;，取消&lt;code&gt;“Sign-up enabled”&lt;/code&gt;即可。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;如：&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;http://jiaochengziyuan.cn:18888/admin/application_settings&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="数据存储"&gt;数据存储&lt;/h6&gt;&#10;&lt;p&gt;&lt;code&gt;GitLab&lt;/code&gt; 是一个代码托管软件，因此当 &lt;code&gt;Docker&lt;/code&gt; 容器停止/删除时，不希望丢失代码。为避免丢失任何数据，应该将 &lt;code&gt;Volume&lt;/code&gt; 挂载：&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;/home/git/data&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;注意，如果你使用的是 &lt;code&gt;docker-compose&lt;/code&gt; 安装方法，这会自动挂载。&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;SELinux&lt;/code&gt; 用户还需要更改挂载点的安全上下文，以便与 &lt;code&gt;selinux&lt;/code&gt; 良好地配合。&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mkdir -p /srv/docker/gitlab/gitlab&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo chcon -Rt svirt_sandbox_file_t /srv/docker/gitlab/gitlab&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;通过在&lt;code&gt;docker run&lt;/code&gt;命令中指定&lt;code&gt;-v&lt;/code&gt;选项，可以在&lt;code&gt; docker&lt;/code&gt; 中挂载卷：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --name gitlab -d \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --volume /srv/docker/gitlab/gitlab:/home/git/data \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sameersbn/gitlab:10.7.3&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="参考文档"&gt;参考文档：&lt;/h6&gt;&#10;&lt;p&gt;&lt;a href="http://www.damagehead.com/docker-gitlab" target="_blank" rel="noopener noreferrer"&gt;http://www.damagehead.com/docker-gitlab&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://github.com/sameersbn/docker-gitlab" target="_blank" rel="noopener noreferrer"&gt;https://github.com/sameersbn/docker-gitlab&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;</description></item><item><title>【gitlab】使用docker-compose安装gitlab</title><link>https://jiaochengziyuan.cn/p/gitlab%E4%BD%BF%E7%94%A8docker-compose%E5%AE%89%E8%A3%85gitlab/</link><pubDate>Wed, 08 Aug 2018 11:11:11 +0800</pubDate><author>986945193@qq.com (David)</author><guid>https://jiaochengziyuan.cn/p/gitlab%E4%BD%BF%E7%94%A8docker-compose%E5%AE%89%E8%A3%85gitlab/</guid><description>&lt;h6 id="1-通过-docker-compose-安装推荐"&gt;1. 通过 docker-compose 安装（推荐）&lt;/h6&gt;&#10;&lt;p&gt;可以通过 封装好的库 安装：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://raw.githubusercontent.com/sameersbn/docker-gitlab/master/docker-compose.yml&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这个文件的内容如下：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;version&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#39;2&amp;#39;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;services&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; redis&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; restart&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; always&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; sameersbn&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;redis&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;4.0&lt;/span&gt;&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;9&lt;/span&gt;&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; command&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;loglevel warning&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; volumes&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; &lt;span style="color:#0550ae"&gt;./&lt;/span&gt;redis&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;data&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;lib&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;redis&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;Z&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; postgresql&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; restart&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; always&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; sameersbn&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;postgresql&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;10&lt;/span&gt;&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; volumes&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; &lt;span style="color:#0550ae"&gt;./&lt;/span&gt;postgresql&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;data&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;lib&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;postgresql&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;Z&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; environment&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DB_USER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;gitlab&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DB_PASS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;qq986945193&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DB_NAME&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;gitlabhq_production&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DB_EXTENSION&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;pg_trgm&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; gitlab&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; restart&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; always&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image&lt;span style="color:#1f2328"&gt;:&lt;/span&gt; sameersbn&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;12.3&lt;/span&gt;&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;5&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; depends_on&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; redis&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; postgresql&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ports&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;9080:80&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; &lt;span style="color:#0a3069"&gt;&amp;#34;9022:22&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; volumes&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; &lt;span style="color:#0550ae"&gt;./&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;data&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;home&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;git&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;data&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;Z&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; environment&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DEBUG&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DB_ADAPTER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;postgresql&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DB_HOST&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;postgresql&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DB_PORT&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;5432&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DB_USER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;gitlab&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DB_PASS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;qq986945193&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; DB_NAME&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;gitlabhq_production&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; REDIS_HOST&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;redis&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; REDIS_PORT&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;6379&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; TZ&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;Asia&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;Beijing&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_TIMEZONE&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;Beijing&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_HTTPS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SSL_SELF_SIGNED&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_HOST&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;10.168&lt;/span&gt;&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;&lt;span style="color:#0550ae"&gt;1.227&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_PORT&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;9080&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_SSH_PORT&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;9022&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_RELATIVE_URL_ROOT&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_SECRETS_DB_KEY_BASE&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;long&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;&lt;span style="color:#0550ae"&gt;and&lt;/span&gt;&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;random&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;alphanumeric&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_SECRETS_SECRET_KEY_BASE&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;long&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;&lt;span style="color:#0550ae"&gt;and&lt;/span&gt;&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;random&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;alphanumeric&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_SECRETS_OTP_KEY_BASE&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;long&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;&lt;span style="color:#0550ae"&gt;and&lt;/span&gt;&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;random&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;alphanumeric&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;string&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_ROOT_PASSWORD&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_ROOT_EMAIL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_NOTIFY_ON_BROKEN_BUILDS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_NOTIFY_PUSHER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_EMAIL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;notifications&lt;span style="color:#f6f8fa;background-color:#82071e"&gt;@&lt;/span&gt;example&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_EMAIL_REPLY_TO&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;noreply&lt;span style="color:#f6f8fa;background-color:#82071e"&gt;@&lt;/span&gt;example&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_INCOMING_EMAIL_ADDRESS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;reply&lt;span style="color:#f6f8fa;background-color:#82071e"&gt;@&lt;/span&gt;example&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_BACKUP_SCHEDULE&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;daily&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; GITLAB_BACKUP_TIME&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;01&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;00&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SMTP_ENABLED&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SMTP_DOMAIN&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;www&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;example&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SMTP_HOST&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;smtp&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;gmail&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SMTP_PORT&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;587&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SMTP_USER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;mailer&lt;span style="color:#f6f8fa;background-color:#82071e"&gt;@&lt;/span&gt;example&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SMTP_PASS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;password&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SMTP_STARTTLS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; SMTP_AUTHENTICATION&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;login&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; IMAP_ENABLED&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; IMAP_HOST&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;imap&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;gmail&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; IMAP_PORT&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0550ae"&gt;993&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; IMAP_USER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;mailer&lt;span style="color:#f6f8fa;background-color:#82071e"&gt;@&lt;/span&gt;example&lt;span style="color:#0550ae"&gt;.&lt;/span&gt;com&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; IMAP_PASS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;password&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; IMAP_SSL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; IMAP_STARTTLS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_ENABLED&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_AUTO_SIGN_IN_WITH_PROVIDER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_ALLOW_SSO&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_BLOCK_AUTO_CREATED_USERS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_AUTO_LINK_LDAP_USER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_AUTO_LINK_SAML_USER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_EXTERNAL_PROVIDERS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_CAS3_LABEL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;cas3&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_CAS3_SERVER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_CAS3_DISABLE_SSL_VERIFICATION&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#6a737d"&gt;false&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_CAS3_LOGIN_URL&lt;span style="color:#0550ae"&gt;=/&lt;/span&gt;cas&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;login&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_CAS3_VALIDATE_URL&lt;span style="color:#0550ae"&gt;=/&lt;/span&gt;cas&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;p3&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;serviceValidate&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_CAS3_LOGOUT_URL&lt;span style="color:#0550ae"&gt;=/&lt;/span&gt;cas&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;logout&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_GOOGLE_API_KEY&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_GOOGLE_APP_SECRET&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_GOOGLE_RESTRICT_DOMAIN&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_FACEBOOK_API_KEY&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_FACEBOOK_APP_SECRET&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_TWITTER_API_KEY&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_TWITTER_APP_SECRET&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_GITHUB_API_KEY&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_GITHUB_APP_SECRET&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_GITHUB_URL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_GITHUB_VERIFY_SSL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_GITLAB_API_KEY&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_GITLAB_APP_SECRET&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_BITBUCKET_API_KEY&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_BITBUCKET_APP_SECRET&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_ASSERTION_CONSUMER_SERVICE_URL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_IDP_CERT_FINGERPRINT&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_IDP_SSO_TARGET_URL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_ISSUER&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_LABEL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&lt;span style="color:#0a3069"&gt;&amp;#34;Our SAML Provider&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_NAME_IDENTIFIER_FORMAT&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;urn&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;oasis&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;names&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;tc&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;SAML&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2.0&lt;/span&gt;&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;nameid&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;format&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;transient&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_GROUPS_ATTRIBUTE&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_EXTERNAL_GROUPS&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_ATTRIBUTE_STATEMENTS_EMAIL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_ATTRIBUTE_STATEMENTS_NAME&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_ATTRIBUTE_STATEMENTS_USERNAME&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_ATTRIBUTE_STATEMENTS_FIRST_NAME&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_SAML_ATTRIBUTE_STATEMENTS_LAST_NAME&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_CROWD_SERVER_URL&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_CROWD_APP_NAME&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_CROWD_APP_PASSWORD&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_AUTH0_CLIENT_ID&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_AUTH0_CLIENT_SECRET&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_AUTH0_DOMAIN&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_AUTH0_SCOPE&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_AZURE_API_KEY&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_AZURE_API_SECRET&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;-&lt;/span&gt; OAUTH_AZURE_TENANT_ID&lt;span style="color:#0550ae"&gt;=&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;#volumes:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# redis-data:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# postgresql-data:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#57606a"&gt;# gitlab-data:&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="启动gitlab相关服务"&gt;启动gitlab相关服务&lt;/h6&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# -d 后台运行&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose up -d&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="等待几分钟在看到服务启动信息后就可以访问-gitlab-了默认是-9080-端口"&gt;等待几分钟，在看到服务启动信息后，就可以访问 GitLab 了，默认是 9080 端口：&lt;/h6&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab_1 | 2018-05-16 13:08:52,219 INFO success: gitaly entered RUNNING state, process has stayed up for &amp;gt; than 1 seconds (startsecs)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab_1 | 2018-05-16 13:08:52,219 INFO success: sidekiq entered RUNNING state, process has stayed up for &amp;gt; than 1 seconds (startsecs)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab_1 | 2018-05-16 13:08:52,219 INFO success: unicorn entered RUNNING state, process has stayed up for &amp;gt; than 1 seconds (startsecs)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab_1 | 2018-05-16 13:08:52,219 INFO success: gitlab-workhorse entered RUNNING state, process has stayed up for &amp;gt; than 1 seconds (startsecs)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab_1 | 2018-05-16 13:08:52,219 INFO success: cron entered RUNNING state, process has stayed up for &amp;gt; than 1 seconds (startsecs)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab_1 | 2018-05-16 13:08:52,219 INFO success: nginx entered RUNNING state, process has stayed up for &amp;gt; than 1 seconds (startsecs)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gitlab_1 | 2018-05-16 13:08:52,219 INFO success: sshd entered RUNNING state, process has stayed up for &amp;gt; than 1 seconds (startsecs)&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="安装后首次登陆时会提示更改-root-用户的密码改完后登陆即可"&gt;安装后，首次登陆时，会提示更改 root 用户的密码。改完后登陆即可。&lt;/h6&gt;&#10;&lt;h6 id="关闭gitlab相关服务"&gt;关闭gitlab相关服务&lt;/h6&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker-compose stop&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;也可以按序关闭对应的docker容器。&lt;/p&gt;&#10;&lt;h6 id="2-通过-dockere-安装"&gt;2. 通过 dockere 安装&lt;/h6&gt;&#10;&lt;h6 id="step-1-启动-postgresql-容器"&gt;Step 1. 启动 postgresql 容器&lt;/h6&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;name gitlab&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;postgresql &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;d \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;env &lt;span style="color:#0a3069"&gt;&amp;#39;DB_NAME=gitlabhq_production&amp;#39;&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;env &lt;span style="color:#0a3069"&gt;&amp;#39;DB_USER=gitlab&amp;#39;&lt;/span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;env &lt;span style="color:#0a3069"&gt;&amp;#39;DB_PASS=password&amp;#39;&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;env &lt;span style="color:#0a3069"&gt;&amp;#39;DB_EXTENSION=pg_trgm&amp;#39;&lt;/span&gt; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;volume &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;srv&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;docker&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;postgresql&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;lib&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;postgresql \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sameersbn&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;postgresql&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;9.6&lt;/span&gt;&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;&lt;span style="color:#0550ae"&gt;2&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="step-2-启动-redis-容器"&gt;Step 2. 启动 redis 容器&lt;/h6&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;name gitlab&lt;span style="color:#0550ae"&gt;-&lt;/span&gt;redis &lt;span style="color:#0550ae"&gt;-&lt;/span&gt;d \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#0550ae"&gt;--&lt;/span&gt;volume &lt;span style="color:#0550ae"&gt;/&lt;/span&gt;srv&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;docker&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;gitlab&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;redis&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;&lt;span style="color:#cf222e"&gt;var&lt;/span&gt;&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;lib&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;redis \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sameersbn&lt;span style="color:#0550ae"&gt;/&lt;/span&gt;redis&lt;span style="color:#1f2328"&gt;:&lt;/span&gt;latest&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="step-3-启动-gitlab-容器"&gt;Step 3. 启动 gitlab 容器&lt;/h6&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --name gitlab -d \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --link gitlab-postgresql:postgresql --link gitlab-redis:redisio \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --publish 10022:22 --publish 10080:80 \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --env &amp;#39;GITLAB_PORT=10080&amp;#39; --env &amp;#39;GITLAB_SSH_PORT=10022&amp;#39; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --env &amp;#39;GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string&amp;#39; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --env &amp;#39;GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string&amp;#39; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --env &amp;#39;GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string&amp;#39; \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --volume /srv/docker/gitlab/gitlab:/home/git/data \&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sameersbn/gitlab:10.7.3&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="等待几分钟将浏览器指向httplocalhost10080并使用默认用户名和密码登录"&gt;等待几分钟，将浏览器指向http://localhost:10080并使用默认用户名和密码登录：&lt;/h6&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;用户名：root&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;密码：5iveL!fe&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="为-gitlab_secrets_otp_key_basegitlab_secrets_db_key_base-和-gitlab_secrets_secret_key_base-创建至少-64-个字符长度的随机字符串也可以先使用默认值用途如下"&gt;为 GITLAB_SECRETS_OTP_KEY_BASE、GITLAB_SECRETS_DB_KEY_BASE 和 GITLAB_SECRETS_SECRET_KEY_BASE 创建至少 64 个字符长度的随机字符串（也可以先使用默认值），用途如下：&lt;/h6&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1. GITLAB_SECRETS_OTP_KEY_BASE：用于加密数据库的 2FA 密钥。如果丢失这个密码，所有用户都无法通过 2FA 登录。&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1. GITLAB_SECRETS_DB_KEY_BASE：用于加密 CI 密钥变量及数据库中的重要凭证。如果丢失这个密码，将无法使用已经存在的 CI 密钥。&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;1. GITLAB_SECRETS_SECRET_KEY_BASE：用于密码重置链接以及其他“标准”身份验证功能。如果丢失这个密码，电子邮件中的密码重置 token 将重置。&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h6 id="参考文档"&gt;参考文档：&lt;/h6&gt;&#10;&lt;p&gt;&lt;a href="http://www.damagehead.com/docker-gitlab/" target="_blank" rel="noopener noreferrer"&gt;http://www.damagehead.com/docker-gitlab/&lt;/a&gt;&#13;&#10;&#10;&lt;a href="https://github.com/sameersbn/docker-gitlab/" target="_blank" rel="noopener noreferrer"&gt;https://github.com/sameersbn/docker-gitlab/&lt;/a&gt;&#13;&#10;&lt;/p&gt;&#10;</description></item></channel></rss>