网页设计模板免费下载网站,网站排名快速提升,海纳企业网站建设模板,网站建设合同需要印花税官方 gitlab 文档 我的系统是 arm 架构的 ubuntu 官网没有提供 arm 架构的 docker 的 gitlab 的安装方式#xff0c;直接安装的也是后来加的#xff0c;文档也是随笔带过#xff0c;#xff0c;#xff0c;我用到了#xff0c;记录一下 默认已经安装了 docker 在 docker … 官方 gitlab 文档 我的系统是 arm 架构的 ubuntu 官网没有提供 arm 架构的 docker 的 gitlab 的安装方式直接安装的也是后来加的文档也是随笔带过我用到了记录一下 默认已经安装了 docker 在 docker hub 里有人编译了 arm 架构的 gitlab 的 docker 镜像并且有很多人在使用最近也在更新就是这个yrzr/gitlab-ce-arm64v8
如果不是 arm 架构的话可以直接参考上面的官方文档安装使用官方的方法后面配置和备份基本一致
安装
拉取镜像并启动容器
docker run \--detach \--restart always \--name gitlab-ce \--privileged \--memory 4096M \--publish 22:22 \--publish 80:80 \--publish 443:443 \--hostname gitlab.example.com \--env GITLAB_OMNIBUS_CONFIG \nginx[redirect_http_to_https] true; \--volume /srv/gitlab-ce/conf:/etc/gitlab:z \--volume /srv/gitlab-ce/logs:/var/log/gitlab:z \--volume /srv/gitlab-ce/data:/var/opt/gitlab:z \yrzr/gitlab-ce-arm64v8:latest有可能分行的话不好改下面直接弄成一行了方便修改
docker run --detach --restart always --name gitlab-ce --privileged --memory 4096M --publish 22:22 --publish 80:80 --publish 443:443 --hostname gitlab.example.com --env GITLAB_OMNIBUS_CONFIGnginx[redirect_http_to_https] true; --volume /srv/gitlab-ce/conf:/etc/gitlab:z --volume /srv/gitlab-ce/logs:/var/log/gitlab:z --volume /srv/gitlab-ce/data:/var/opt/gitlab:z yrzr/gitlab-ce-arm64v8:latest上面命令根据自己需求更改比如 22、80、443 端口映射还有访问域名和下面的配置文件日志文件映射位置
我这里解析一下域名解析为 gitlab.siyongwei.com如果服务器上什么都没有专门安装 gitlab倒是可以直接安装我这里因为在服务器上已经安装了宝塔面板又放了挺多网站所以 80 端口、443 端口和 22 端口都已经被占用如果说直接把 80 端口映射成其他端口在访问域名的时候后面还需要加上端口不美观也不方便所以还想着安装之后直接使用域名就可以直接访问因此我这里仅映射 80 端口然后通过反向代理使域名可以直接访问
docker run \--detach \--restart always \--name gitlab-ce \--privileged \--memory 4096M \--publish 8089:80 \--hostname gitlab.siyongwei.com \--env GITLAB_OMNIBUS_CONFIG \nginx[redirect_http_to_https] true; \--volume /srv/gitlab-ce/conf:/etc/gitlab:z \--volume /srv/gitlab-ce/logs:/var/log/gitlab:z \--volume /srv/gitlab-ce/data:/var/opt/gitlab:z \yrzr/gitlab-ce-arm64v8:latest这下面是我改过的方便我自己复制用的。。。
docker run --detach --restart always --name gitlab-ce --privileged --memory 4096M --publish 8089:80 --hostname gitlab.siyongwei.com --env GITLAB_OMNIBUS_CONFIGnginx[redirect_http_to_https] true; --volume /srv/gitlab-ce/conf:/etc/gitlab:z --volume /srv/gitlab-ce/logs:/var/log/gitlab:z --volume /srv/gitlab-ce/data:/var/opt/gitlab:z yrzr/gitlab-ce-arm64v8:latest可以看到已经启动了 然后添加一个站点配置反向代理我这里直接使用的宝塔面板可视化配置不使用宝塔面板的话可以直接更改 nginx 的配置文件配置反向代理 我这里顺便加了 ssl 证书证书也很方便我这里使用的之前 acme.sh 申请的自动续期的通配符证书可以看[post cid“178” cover“” size“small”/] 然后就直接可以访问到了如果打开网站是 502 不用怕因为这个初始化启动需要挺长时间等几分钟就可以了 登录
这里用户名时 root密码可以输入下面命令查看这条命令在官网也是有的
sudo docker exec -it gitlab-ce grep Password: /etc/gitlab/initial_root_password密码文件将在 24 小时后的第一次重新配置运行中自动删除
至此登陆成功
修改语言默认安装完成是英文可以修改成中文或其他语言右上角头像—Edit profile—Preferences—Localization—Language—Save changes即可修改完成后要刷新一下
其他资料就不说了
配置邮件传输
修改 gitlab.rb 配置文件按上面映射文件位置在/srv/gitlab-ce/conf/gitlab.rb
vim /srv/gitlab-ce/conf/gitlab.rb正常模式下键入/smtp搜索配置邮件位置
配置可参考官方配置文档 邮件传输协议
我这里用 QQ 的 smtp 服务下面是配置示例要把下面的gitlab_email_from注释也取消 配置依次是是否开启邮件服务、邮件服务地址、端口、发送名(填写邮件地址)、邮件授权码(获取方法网上很好找随便都能搜到这里不多赘述)、邮件发送域名后面不懂最后一个是发送者(填写邮件地址)
配置完成后保存 使用下面命令进入 gitlab-ce 的 docker 容器
docker exec -it gitlab-ce /bin/bash使用下面命令重新加载 gitlab 的配置文件
gitlab-ctl reconfigure测试邮件传输是否可用
GitLab 给提供了测试邮件是否可用的方法使用 Rails 控制台验证 GitLab 是否可以正确发送电子邮件
执行下面命令进入控制台
gitlab-rails console然后在控制台提示符下输入以下命令使 GitLab 发送测试电子邮件
Notify.test_email(收件邮箱,Message Subject,Message Body).deliver_now可以看到邮件发送成功
然后就可以修改用户的电子邮件了因为电子邮件需要做验证 验证后在用户资料修改一下添加的邮箱就可以把默认的adminexample.com删掉了因为默认的是示例不可以正常使用 备份与还原
参考官网备份还原
备份
这里我添加了一个测试用的存储库 备份命令
docker exec -t 容器名 gitlab-backup create备份完成有句提示说 gitlab.rb 和 gitlab-secrets.json 要手动备份按上面文件映射这两个文件就在/srv/gitlab-ce/conf/文件夹内
还有其他增量备份、特定存储库备份等乱七八糟的类别的备份方式具体可以看上面官方文档
还原
这里我存了一下刚才备份的两个文件和执行备份命令生成的压缩包
然后我把容器、镜像、还有前面的映射出来的 srv 下的 gitlab-ce 目录都删掉重新拉取一下镜像启动容器登录一下可以看到都变成初始状态了
停止连接数据库的进程命令
docker exec -it 容器名 gitlab-ctl stop puma
docker exec -it 容器名 gitlab-ctl stop sidekiq停止后检查一下状态
docker exec -it 容器名 gitlab-ctl status恢复备份命令
docker exec -it 容器名 gitlab-backup restore BACKUP备份文件的时间戳(也就是备份文件文件名去掉_gitlab_backup.tar)然后让输入两次 yes 进行确认恢复后会提示 gitlab.rb 和 gitlab-secrets.json 需要手动恢复 然后把这两个文件移动到/srv/gitlab-ce/conf/文件夹内覆盖掉原来的文件 然后重启一下容器
docker restart 容器名检查 gitlab
docker exec -it 容器名 gitlab-rake gitlab:check SANITIZEtrue查看 gitlab可以看到存储库和用户资料都已经恢复了 自动化备份
使用 corn 自动化备份可以参考官方文档配置 cron 以进行每日备份
我这里因为之前有用到宝塔面板计划任务备份网站和数据库所以直接使用宝塔面板的计划任务实施自动化备份
首先每天 0 点 05 执行备份 gitlab 命令 然后可以添加下面的 shell 脚本把配置文件和备份的 tar 压缩文件复制/移动到 gitlab 网站文件夹内然后就方便备份到外部网盘中了
dir1/www/wwwroot/gitlab/backup-conf/$(date %Y_%m_%d)
if [ ! -d $dir1 ];then
mkdir $dir1
echo ${dar1}创建文件夹成功
cp /srv/gitlab-ce/conf/gitlab-secrets.json $dir1
echo 已备份gitlab-secrets.json
cp /srv/gitlab-ce/conf/gitlab.rb $dir1
echo 已备份gitlab.rb
rm -rf $(find /www/wwwroot/gitlab/backup-conf/* -mtime 1);
echo 已删除2天前的文件夹
else
echo 今日已备份conf配置文件
fidir2/www/wwwroot/gitlab/backup-tar/$(date %Y_%m_%d)
if [ ! -d $dir2 ];then
mkdir $dir2
echo ${dar2}创建文件夹成功
mv /srv/gitlab-ce/data/backups/*$(date %Y_%m_%d)* $dir2
echo 已备份tar压缩文件
rm -rf $(find /www/wwwroot/gitlab/backup-tar/* -mtime 1);
echo 已删除2天前的文件夹
else
echo 今日已备份tar压缩文件
fi执行脚本的前提要先手动创建/www/wwwroot/gitlab/backup-conf/和/www/wwwroot/gitlab/backup-tar/文件夹 这个脚本是在 gitlab 网站文件夹的backup-conf文件夹和backup-tar文件夹内创建年_月_日格式的文件夹创建完成后将/srv/gitlab-ce/conf/gitlab-secrets.json和/srv/gitlab-ce/conf/gitlab.rb配置文件复制到backup-conf里的年_月_日文件夹内将 docker 命令备份的 tar 压缩文件移动到backup-tar里的年_月_日文件夹内
至此完成整体的备份 再加上宝塔面板自带的备份网站计划任务就可以备份到其他网盘中了 ❀❀❀❀❀❀ 完结散花 ❀❀❀❀❀❀ Written ❤️ sywdebug.