欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Gitlab 及 Gitlab Runner的搭建

程序员文章站 2022-06-11 19:05:23
...

本文后续所有安装都基于 docker ,所以需要一定的 docker 基础知识储备。

Docker 的准备

卸载 原 Docker

# 卸载Docker ( CentOS )

sudo yum remove docker \
docker-common \
container-selinux \
docker-selinux \
docker-engine

# 删除原Docker的镜像,网络,存储卷等文件

rm -fr /var/lib/docker/

复制代码

安装 Docker


# Docker 官方(速度较慢)

curl -sSL https://get.docker.com | sh

# 国内加速版本

curl -sSL https://get.daocloud.io/docker | sh
复制代码

如安装过程中出现 "Failed to set locale, defaulting to C" 使用如下命令,echo "export LC_ALL=en_US.UTF-8" >> /etc/profile

Docker 安装 官网参考文章

Docker 安装 国内参考文章

启动 docker

# 启动服务

sudo systemctl start docker
复制代码

天朝特色(设置加速器)

# daocloud 一键解决方案
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://a1c42b37.m.daocloud.io
sudo systemctl restart docker

# 阿里云方案(如果是阿里云服务器,推荐该方案)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://lj65tfot.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
复制代码

Gitlab 相关

修改ssh 端口

# 查看端口

netstat -tnlp |grep ssh

# 修改文件

vi /etc/ssh/sshd_config

# 重启
service sshd restart
复制代码

说明:git 中会使用到 ssh 协议,所以会使用到 22 端口。

准备 Gitlab 镜像

docker pull gitlab/gitlab-ce
复制代码

安装 Gitlab


sudo docker run --detach \
    --publish 443:443 --publish 80:80 --publish 22:22 \
    --name gitlab \
    --restart always \
    --volume /srv/docker/gitlab/config:/etc/gitlab \
    --volume /srv/docker/gitlab/logs:/var/log/gitlab \
    --volume /srv/docker/gitlab/data:/var/opt/gitlab \
    --env GITLAB_OMNIBUS_CONFIG="external_url 'http://180.76.110.35';" \
    gitlab/gitlab-ce:latest
    
复制代码

说明 443端口为https使用,80端口为http使用,22端口为ssh使用。

配置 Gitlab 配置

  • 配置 IP、域名等设置。

修改 /srv/docker/gitlab/config/gitlab.rb 文件

vi /srv/docker/gitlab/config/gitlab.rb

修改:external_url '服务器IP/已备案的域名'

示例:external_url 'http://180.76.110.35/'
复制代码
  • 配置邮箱服务

修改 /srv/docker/gitlab/config/gitlab.rb 文件

gitlab_rails[‘smtp_enable’] = true 
gitlab_rails[‘smtp_address’] = “smtp.163.com” 
gitlab_rails[‘smtp_port’] = 25 
gitlab_rails[‘smtp_user_name’] = “[email protected]” 
gitlab_rails[‘smtp_password’] = “xxx” 
gitlab_rails[‘smtp_domain’] = “163.com” 
gitlab_rails[‘smtp_authentication’] = :login 
gitlab_rails[‘smtp_enable_starttls_auto’] = true

gitlab_rails[‘gitlab_email_from’] = “[email protected]” 

user[“git_user_email”] = “[email protected]复制代码

修改之后重新加载配置文件

# 进入 容器 中

docker exec -it gitlab bash

# 加载配置

gitlab-ctl reconfigure

复制代码
  • 配置https

TODO

  • 关闭注册

root 用户登录,admin area -> settings -> Sign-up Restrictions -> Sign-up enabled 关闭即可。

配置Gitlab CI 配置

  • 安装 runner
docker run -d --name gitlab-runner --restart always \
  -v /srv/docker/gitlab-runner/config:/etc/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest
复制代码
  • 注册 runner
docker exec -it gitlab-runner gitlab-ci-multi-runner register
复制代码

注意,此处需要登录到 gitlab 中 查询**。

  • GitLab Runner Cache TODO

GitLab 安装相关的文章。

安装 Runner 参考文章

注册 Runner 参考文章

如何使用GitLab和Rancher构建CI/CD流水线 – Part 1

如何使用GitLab和Rancher构建CI/CD流水线 – Part 2

转载于:https://juejin.im/post/5b232ee46fb9a00e9b39f9ba