龙蜥系统使用Docker搭建Gitlab+Gitlab-Runner+Registry环境

基础环境配置

系统信息

ID主机名ip开放端口
1gitlab-ci172.24.3.241443、2022
2gitlab-runner-1172.24.3.242
3gitlab-registry172.24.3.2435000
4gitlab-runner-2172.24.3.244

通用配置

以下操作所有主机节点执行

添加/etc/hosts文件内容

172.24.3.241 gitlab-ci
172.24.3.242 gitlab-runner-1
172.24.3.243 gitlab-registry
172.24.3.244 gitlab-runner-2

安装docker

sudo yum -y install docker

添加Docker镜像加速节点

使用root用户安装,执行下面命令:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
        "registry-mirrors": [
                "http://docker.mirrors.ustc.edu.cn",
                "http://hub-mirror.c.163.com",
                "https://registry.docker-cn.com"
        ],
        "insecure-registries": ["gitlab-registry:5000"]  ##为本地镜像仓库     
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

使用非root用户安装,同时执行以下命令:

mkdir -p  ~/.config/docker
 tee  ~/.config/docker/daemon.json <<-'EOF'
{
        "registry-mirrors": [
                "http://docker.mirrors.ustc.edu.cn",
                "http://hub-mirror.c.163.com",
                "https://registry.docker-cn.com"
        ],
        "insecure-registries": ["gitlab-registry:5000"]   
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

环境部署

部署GitLab CI/CD

本步骤操作在 172.24.3.241 gitlab-ce 节点执行

官方版本安装方法
docker pull gitlab/gitlab-ce

docker run -d \
--hostname gitlab.bgctv.com.cn \
--name gitlab-ce \
--restart always \
-p 443:443 -p 2022:22 \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/local/gitlab/gitlab-ce/config:/etc/gitlab \
-v /usr/local/gitlab/gitlab-ce/logs:/var/log/gitlab \
-v /usr/local/gitlab/gitlab-ce/opt:/var/opt/gitlab \
gitlab/gitlab-ce
国内极狐(中文)版本安装方法
docker pull  registry.gitlab.cn/omnibus/gitlab-jh

docker run -d \
--hostname gitlab.bgctv.com.cn \
--name gitlab-jh \
--restart always \
-p 443:443 -p 2022:22 \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/local/gitlab/gitlab-jh/config:/etc/gitlab \
-v /usr/local/gitlab/gitlab-jh/logs:/var/log/gitlab \
-v /usr/local/gitlab/gitlab-jh/opt:/var/opt/gitlab \
registry.gitlab.cn/omnibus/gitlab-jh

默认root用户密码
cat /usr/local/gitlab/gitlab-ce/config/initial_root_password #安装完成24小时后自动删除
Db54Gi2NN/kWzHAhba1DrtJzNkxXi5S/09xJLDzGGbI=

# 首先看一下本机的IP地址,并且记录下来,这里假定是192.168.xxx.xxx
ifconfig

# 进入容器内部
docker exec -it gitlab bash
 
# 修改gitlab.rb
vi /etc/gitlab/gitlab.rb
 
# 修改下面的配置
# gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'http://192.168.xxx.xxx'
# ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '192.168.xxx.xxx'
#设置时区为北京时间
gitlab_rails['time_zone'] = 'UTC +8'
# ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 2022
#开启https
nginx['redirect_http_to_https'] = true 
#配置证书
nginx['ssl_certificate'] = "/etc/gitlab/ssl/9167262__bgctv.com.cn.pem"          
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/9167262__bgctv.com.cn.key" 

##邮箱配置##按需配置
 gitlab_rails['smtp_enable'] = true
 gitlab_rails['smtp_address'] = "smtp.163.com"
 gitlab_rails['smtp_port'] = 465
 gitlab_rails['smtp_user_name'] = "xxxx@163.com"
 gitlab_rails['smtp_password'] = "XXXXX通过邮箱网站生成专用密码,密码获取方式见下文##"
 gitlab_rails['smtp_domain'] = "163.com"
 gitlab_rails['smtp_authentication'] = "login"
 gitlab_rails['smtp_enable_starttls_auto'] = true
 gitlab_rails['smtp_tls'] = true  ##邮箱要求开启ssl即开启此选项
 
 gitlab_rails['gitlab_email_enabled'] = true
 ##配置发送邮件的邮箱、发件人名称
 gitlab_rails['gitlab_email_from'] = 'xx@163.com'
 gitlab_rails['gitlab_email_display_name'] = 'Gitlab server'
 user['git_user_email'] = 'XX@163.com'

 gitlab_rails['gitlab_default_can_create_group'] = true
 gitlab_rails['gitlab_username_changing_enabled'] = true


# 让配置生效
gitlab-ctl reconfigure
gitlab-ctl restart

#重新配置后会/etc/gitlab/gitlab.rb文件会更新gitlab.yml这个文件。

邮箱测试方法
#进入console模式
gitlab-rails console

#发送短信(收件人,主题,内容)
Notify.test_email('xxx@163.com', 'test123', 'test123').deliver_now

邮箱测试方法

获取163邮箱的密码

获取163邮箱密码

报错处理
WARNING: IPv4 forwarding is disabled. Networking will not work.

执行下述命令解决:

echo "net.ipv4.ip_forward=1" >>/usr/lib/sysctl.d/00-system.conf
systemctl restart network

部署Gitlab-Runner

本步骤操作在 172.24.3.242 gitlab-Runner 节点执行
Gitlab-runner容器需要挂载一个路径:config,用来保存配置数据。同时我们需要指定宿主机运行docker的sock文件,这样runner在启动docker容器的时候会调用宿主机的docker-daemon,不需要再Gitlab-runner中再安装docker-daemon

docker pull gitlab/gitlab-runner

docker run -d \
--name gitlab-runner \
--restart always \
-v /usr/local/gitlab/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner
向Gitlab注册Runner
  1. 登录Gitlab,并修改初始密码
    登陆Gitlab
    修改Gitlab密码
  2. 获取Runner的token
    获取Runner的token
    拷贝runner的token
#登陆容器内部
docker exec -it gitlab-runner /bin/bash
#注册runner
root@c6653ec7e562:/# gitlab-runner register
Runtime platform                                    arch=amd64 os=linux pid=51 revision=5316d4ac version=14.6.0
Running in system-mode.                           
                                                   
Enter the GitLab instance URL (for example, https://gitlab.com/):
https://gitlab.bgctv.com.cn
Enter the registration token:
-RvmES-yp7zqNT-CnQBX
Enter a description for the runner:
[c6653ec7e562]: runner-1  
Enter tags for the runner (comma-separated):
Test
Registering runner... succeeded                     runner=-RvmES-y
Enter an executor: virtualbox, docker+machine, kubernetes, custom, parallels, shell, docker-ssh+machine, docker, docker-ssh, ssh:
docker
Enter the default Docker image (for example, ruby:2.6):
docker:20.10.16
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded! 
root@c6653ec7e562:/# 
root@c6653ec7e562:/# exit
exit

验证
验证runner

部署Gitlab-Registry

本步骤操作在 172.24.3.243 Gitlab-Registry 节点执行

docker pull registry
docker run -d \
--name gitlab-registry \
--restart always \
-p 5000:5000 \
-v /usr/local/gitlab/gitlab-registry:/var/lib/registry \
registry
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在操作系统上安装Docker,可以按照以下步骤进行操作: 1. 首先,确保你的系统已经安装了Docker的依赖项。你可以使用以下命令来安装依赖项: ``` yum install -y yum-utils device-mapper-persistent-data lvm2 ``` 2. 接下来,添加Docker的软件源。你可以使用以下命令来添加软件源: ``` yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` 3. 安装Docker使用以下命令来安装最新版本的Docker: ``` yum install docker-ce docker-ce-cli containerd.io ``` 4. 启动Docker服务。使用以下命令来启动Docker服务: ``` systemctl start docker ``` 5. 确认Docker是否成功启动。你可以使用以下命令来检查Docker的状态: ``` systemctl status docker ``` 如果状态显示为"active (running)",表示Docker已成功启动。 6. 设置Docker开机自启动。使用以下命令来设置Docker系统启动时自动启动: ``` systemctl enable docker ``` 现在,你已经成功在操作系统上安装并启动了Docker。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Anolis OS 7.9安装docker](https://blog.csdn.net/weixin_43652442/article/details/124488971)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [anolis8.6 安装docker](https://blog.csdn.net/qq_41169544/article/details/128864298)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值