Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号)

这篇具有很好参考价值的文章主要介绍了Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

根据我的经验 部署Gitlab(社区版) 至少需要2核4g的服务器 带宽3~4M

前端自动化(其一)部署gitlab(本章!)

前端自动化(其二)部署jenkins、配置环境、连接gitlab

前端自动化(其三)持续集成和持续部署

1. 在自己电脑上安装终端:宝塔ssl终端 或者 FinalShell,根据喜好安装即可

http://www.hostbuf.com/t/988.html
http://www.hostbuf.com/downloads/finalshell_windows_x64.exe
(1)安装好后连接SSL
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

2. 服务器(我的是香草云2核4G,大家可以随意):Centos7.9

(1)安装基础环境
sudo yum update -y (centos7.9更新)
(1.1)安装python3相关
sudo yum install epel-release -y
sudo yum install python3 -y
pip3 install --upgrade pip

(1.2)准备定时任务直接上传backups和密钥文件至百度网盘

执行: pip3 install bypy
a. 生成授权链接: bypy info
b. 在网页成功登录后 会得到授权码然后返回服务器输入这个授权码
c. 查看连接情况:bypy list
如果一切正常,会列出百度云账户根目录下的文件和文件夹。
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

(1.2)下面这一行按需安装
sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make zlib zlib-devel libffi-devel firewalld nano zip unzip -y

3. 安装Docker

(1)下载docker.sh脚本: curl -fsSL https://get.docker.com -o get-docker.sh
(2)检查docker是否下载成功 ls
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
(3)安装docker(5分钟或者更长):sh get-docker.sh
(4)启动Docker: systemctl start docker
(5)检查Docker运行状态(下图说明docker已经运行): systemctl status docker

可以同时执行 执行 1~5
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh && systemctl start docker && systemctl status docker

Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
(6)设置Docker随系统启动: sudo systemctl enable docker

4. 执行GitLab Docker镜像

(1)配置Centos环境变量 export GITLAB_HOME=/srv/gitlab
(2)将以下这段代码填好指定的ip后复制到服务器终端上

或者添加永久环境变量(因为偶尔会忘): vi /etc/environment

Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

社区版

sudo docker run --detach \
  --hostname 1.2.3.4 \
  --publish 8443:443 --publish 8080:80 --publish 8822:22 \
  --name gitlab \
  --restart always \
  --volume $GITLAB_HOME/config:/etc/gitlab \
  --volume $GITLAB_HOME/logs:/var/log/gitlab \
  --volume $GITLAB_HOME/data:/var/opt/gitlab \
  --shm-size 256m \
  gitlab/gitlab-ce:16.8.0-ce.0

其中:
1.2.3.4 要换成你的服务器IP地址
--publish 8443:443 --publish 8080:80 --publish 8822:22 \

格式为外部端口:容器内部端口 8080、8822端口可以随意替换。
8080:80表示将主机的8080端口映射到容器的80端口(GitLab的Web服务)。
2222:22表示将主机的2222端口映射到容器的22端口(GitLab的SSH服务)。
8443:443保持不变,因为它是HTTPS服务的标准端口。
记得在服务器安全组中开启 8080、80、22、8822、8443、443端口
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

(3)查看 gitlab是否正在运行(刚部署完可能需要等一会,因为gitlab比较大,需要配置各种数据,): docker ps

starting 还需要再等一会
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
如果出现下图则可以执行第6步(我花了10分钟左右)
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

(4)检查gitlab版本:docker exec -it gitlab gitlab-rake gitlab:env:info
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

(5)使用浏览器打开你的极狐Gitlab http://1.2.3.4:8080 1.2.3.4换成你的服务器ip
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
(6)查看初始管理员 root 的密码 docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

(7)设置汉化:
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
(8)记得修改root 密码
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
(9)生成SSH秘钥
(9.1)ssh-keygen -t rsa -b 4096 -C "你的邮箱" 然后可以一直回车
(9.2)确保 ssh-agent 正在运行: eval "$(ssh-agent -s)"
(9.3)将 SSH 私钥添加到 ssh-agent:ssh-add ~/.ssh/id_rsa
(9.4)复制 SSH 公钥到剪贴板:cat ~/.ssh/id_rsa.pub
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
(10)进入后会发现拉取代码的命令并不是 8080端口 而是默认的80端口 接下来要修改一下gitlab配置
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
(10.1)进入 GitLab 容器: sudo docker exec -it gitlab /bin/bash
(10.2)修改gitlab.rb:vi /etc/gitlab/gitlab.rb

在文件最上边加这三行 ip换成自己服务器的ip

external_url 'http://198.12.1.1'  
gitlab_rails['gitlab_ssh_host'] = '198.12.1.1'
gitlab_rails['gitlab_shell_ssh_port'] = 8822

(10.2)使配置生效(这时不要重启哈): gitlab-ctl reconfigure
(10.3)修改gitlab.yml配置:vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
(10.4)重启 GitLab: gitlab-ctl restart
(10.5)退出等待一会 看内存4g多的时候差不多gitlab准备完了…:exit
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

(11)gitlab备份和恢复

当前gitlab版本16.8.0社区版,使用docker部署,执行备份(大家参考即可)

修改时区:sudo timedatectl set-timezone Asia/Shanghai
设置定时任务:crontab -e

0 8 * * *  /root/backup_and_upload.sh
0 20 * * *  /root/backup_and_upload.sh

(11.3)查看定时任务:crontab -l
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

备份命令 backup_and_upload.sh

记得给执行权限:chmod +x backup_and_upload.sh

#!/bin/bash

#进入gitlab容器内部 docker exec -it gitlab bash
echo "开始执行backup脚本"

#bypy 脚本文件路径
BYPY="/usr/local/bin/bypy"
#docker 脚本文件路径
DOCKER="/usr/bin/docker"
#date 脚本文件路径
DATE="/usr/bin/date"

# 获取当前日期和时间
CURRENT_TIME=$($DATE "+%Y_%m_%d__%H_%M_%S")

# 设置目标备份路径(存到百度网盘上的文件夹名字)
BACKUP_PATH="/gitlab_$CURRENT_TIME"

echo "$($DATE '+%Y-%m-%d %H:%M:%S') | 删除原有备份"
$DOCKER exec gitlab bash -c 'rm /var/opt/gitlab/backups/*'


echo "$($DATE '+%Y-%m-%d %H:%M:%S') | 删除容器外部备份"
rm -r /srv/backups
rm /srv/gitlab.rb
rm /srv/gitlab-secrets.json

echo "$($DATE '+%Y-%m-%d %H:%M:%S') | 创建新备份"
$DOCKER exec gitlab gitlab-backup create

echo "$($DATE '+%Y-%m-%d %H:%M:%S') | 将容器内部文件复制出来准备上传backups gitlab.rb gitlab-secrets.json"
$DOCKER cp gitlab:/var/opt/gitlab/backups/ /srv/
$DOCKER cp gitlab:/etc/gitlab/gitlab.rb /srv/gitlab.rb
$DOCKER cp gitlab:/etc/gitlab/gitlab-secrets.json /srv/gitlab-secrets.json

echo "$($DATE '+%Y-%m-%d %H:%M:%S') | 将新包、gitlab.rb、gitlab-secrets.json上传至百度网盘"
$BYPY upload /srv/backups/  $BACKUP_PATH/backups/
$BYPY upload /srv/gitlab.rb $BACKUP_PATH/gitlab.rb
$BYPY upload /srv/gitlab-secrets.json /$BACKUP_PATH/gitlab-secrets.json

Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

恢复命令 down_gitlab_config.sh (手动恢复)
#!/bin/bash

# 获取用户输入的目录名
echo "请输入要从百度网盘下载的目录名:"
read DOWNLOAD_DIR

echo "$(date '+%Y-%m-%d %H:%M:%S') | 删除backups"
rm -rf /srv/backups
rm -rf /srv/gitlab.rb
rm -rf /srv/gitlab-secrets.json

echo "$(date '+%Y-%m-%d %H:%M:%S') | 从百度网盘上下载新gitlab.rb gitlab-secrets.json backups"
bypy download $DOWNLOAD_DIR/backups /srv/backups
bypy download $DOWNLOAD_DIR/gitlab.rb /srv/gitlab.rb
bypy download $DOWNLOAD_DIR/gitlab-secrets.json /srv/gitlab-secrets.json

echo "$(date '+%Y-%m-%d %H:%M:%S') | 开始恢复文件"
docker cp /srv/gitlab.rb gitlab:/etc/gitlab/
docker cp /srv/gitlab-secrets.json gitlab:/etc/gitlab/
docker cp /srv/backups/. gitlab:/var/opt/gitlab/backups/

echo "执行恢复镜像命令"
docker exec -it gitlab gitlab-ctl stop unicorn
docker exec -it gitlab gitlab-ctl stop sidekiq

echo "进入到 Docker 容器的 backups/ 目录并获取第一个 .tar 文件的名字"
BACKUP_FILE=$(docker exec -it gitlab /bin/bash -c 'ls /var/opt/gitlab/backups/*.tar | head -n 1 | awk -F/ "{gsub(/_gitlab_backup.tar$/, \"\", \$NF); print \$NF}"')

echo "执行恢复命令"
docker exec -it gitlab gitlab-backup restore BACKUP=$BACKUP_NAME

echo "使配置生效"
sudo docker exec -it gitlab /bin/bash -c 'gitlab-ctl reconfigure'

echo "进入容器内部,并修改yml配置文件"
sudo docker exec -it gitlab sed -i 's/port: 80/port: 8080/' /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

echo "重启GitLab服务"
sudo docker exec -it gitlab gitlab-ctl restart

Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

恢复过程中 输入两个 yes 然后希望你yes!

Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab
Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号),centos,docker,gitlab

拓展:
开启gitlab容器: sudo docker start gitlab
停止gitlab容器: sudo docker stop gitlab
删除gitlab容器:sudo docker rm gitlab文章来源地址https://www.toymoban.com/news/detail-812583.html

祝大家学习和工作愉快!!!

到了这里,关于Centos使用Docker搭建自己的Gitlab(社区版和设置汉化、修改密码、设置SSH秘钥、添加拉取命令端口号)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 群晖NAS和绿联NAS的Docker安装odoo16社区版和企业版教程

    Docker安装odoo17,odoo16方法一样的 社区版安装: 1.在群晖后台安装好docker套件,并去控制面板-终端机和SNMP打开SSH功能。 绿联nas的同样进管理界面安装docker套件 绿联打开SSH方法是在设备-远程调试下面 把远程调试打开,然后就会跳出来 验证码 然后下面这一段L#W$%W1uGa+验证码 (+号

    2024年02月11日
    浏览(143)
  • Centos7安装Gitlab-ce(gitlab社区版)15+版本

    在gitlab官网下载了gitlab-ee镜像,离了个大谱,gitlab-ee是企业版,我们要装的自然是社区版(免费)gitlab-ce 安装依赖(官方): 官方快速安装gitlab文档:https://packages.gitlab.com/gitlab/gitlab-ce/install 以上操作相当于下文前两步,不保证对后续操作的影响。 下载社区版镜像: 可以选择

    2024年02月17日
    浏览(55)
  • 使用docker-compose搭建gitlab

    使用Docker搭建GitLab带来的好处。它简化了部署过程,将安装和配置整合为一个容器,并通过简单的命令即可启动和运行GitLab实例。Docker的隔离和容器化特性确保了GitLab与其依赖的软件环境的隔离,避免了冲突问题。此外,Docker的可移植性使得GitLab可以在不同平台和环境中运行

    2024年01月18日
    浏览(51)
  • GitLab搭建自己的代码管理中心方法

    在本地安装GitLab的步骤如下: 确认系统要求:GitLab支持Ubuntu、Debian、CentOS、Fedora、Raspberry Pi等操作系统,需要确认系统版本和要求。 安装必要的依赖:GitLab需要安装Ruby、PostgreSQL、Redis等依赖,需要先安装这些依赖。 下载并安装GitLab:从GitLab官网下载适合自己系统的安装包,

    2023年04月27日
    浏览(39)
  • 【Docker】使用 Docker Registry 搭建自己的 Docker 镜像仓库

    在使用 Docker 进行应用程序的开发和部署时,使用 Docker 镜像仓库是一个很好的实践。它允许集中存储和管理 Docker 镜像,方便团队协作和版本控制。在本文中,将介绍如何使用 Docker Registry 搭建自己的 Docker 镜像仓库,并提供配置文件和配置说明。 Docker Registry 是官方提供的开

    2024年02月13日
    浏览(37)
  • VS2019社区版和QT安装记录

    下载 VS2019:  Visual Studio 2019 版本 16.11 发行说明 | Microsoft Learn https://learn.microsoft.com/zh-cn/visualstudio/releases/2019/release-notes 选择第一个,下载社区版。或者这里下载。 比较简单的方式就是直接打开,网络安装。但微软提供了先下载,后离线的方法,使得我们可以做一个备份 。

    2024年02月11日
    浏览(54)
  • CentOS 搭建 GitLab && Git

    1. 安装 sshd 依赖 输入以下命令: 注:因为我之前已经装过了 sshd 依赖,所以就如上图所示。没装过的耐心等待就好。 2. 启动并设置开机自启 依次输入以下命令: 3. 安装防火墙 如果已经安装了防火墙并且已经在运行状态,则可直接进行第 5 步。 那如何判断 CentOS7 是否安装了

    2024年02月15日
    浏览(52)
  • 从0到1搭建属于自己的Gitlab CI/CD平台

    MCNU云原生 ,文章首发地,欢迎微信搜索关注,更多干货,第一时间掌握! CI和CD是软件开发中常用的缩写,分别代表持续集成(Continuous Integration)和持续交付/持续部署(Continuous Delivery/Continuous Deployment)。它们是实现高效软件交付流程的关键概念,Gitlab CI/CD是目前市场上应

    2024年02月09日
    浏览(75)
  • 【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透

    GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。 Gitlab是被广泛使用的基于git的开源代码管理平台, 基于Ruby on Rails构建, 主要针对软件开发过程中产生的代码和文档进行管理, Gitlab主要针对group和project两个维度进行代码和

    2023年04月12日
    浏览(44)
  • 最新 IntelliJ IDEA 旗舰版和社区版下载安装教程(图解)

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页 ——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础

    2024年02月06日
    浏览(86)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包