Gitlab 及 Gitlab Runner的搭建

作者: 刀哥说Java | 来源:发表于2019-08-19 16:57 被阅读5次

本文后续所有安装都基于 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’] = “xxx@163.com” 
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’] = “xxx@163.com” 

user[“git_user_email”] = “xxx@163.com”

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

# 进入 容器 中

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

安装 Runner 参考文章

注册 Runner 参考文章

相关文章

网友评论

    本文标题:Gitlab 及 Gitlab Runner的搭建

    本文链接:https://www.haomeiwen.com/subject/exdesctx.html