Docker部署Gitlab和gitlab-runner,搭建一站式DevOps平台

一、首次安装Gitlab并配置Gitlab-runner CI/CD

Gitlab Docker 官方安装文档:https://docs.gitlab.cn/jh/install/docker.html

  1. 设置Gitlab数据和配置挂载目录的环境变量GITLAB_HOME,默认路径为/srv/gitlab,本次安装在/data/gitlab
export GITLAB_HOME=/data/gitlab
  1. 使用Docker命令安装
sudo docker run --detach \
  --hostname 118.178.240.145 \
  --publish 8111:8111 --publish 8112: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 \
  registry.gitlab.cn/omnibus/gitlab-jh:latest
  1. 进入容器并配置端口信息
# 进入容器
sudo docker exec -it gitlab /bin/bash

# 打开文件, 修改gitlab.rb文件配置
vi /etc/gitlab/gitlab.rb

external_url "http://118.178.240.145:8111"
gitlab_rails['gitlab_shell_ssh_port'] = 8112

# 应用配置
gitlab-ctl reconfigure
  1. 获取root密码
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
  1. 登录
http://118.178.240.145:8111
root
  1. 安装gitlab-runner
docker run -d \
  --name gitlab-runner \
  --restart always \
  -v /data/gitlab-runner/config:/etc/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest
  1. 注册runner
docker run --rm -it -v /data/gitlab-runner/config:/etc/gitlab-runner gitlab/gitlab-runner register

# Enter the GitLab instance URL
http://118.178.240.145:8111

# Enter the registration token
从gitlab runner注册上获取

# Enter a description for the runner
gitlab-runner-01  # 自定义

# Enter tags for the runner (comma-separated)
R01  # 自定义

# Enter an executor
docker

# Enter the default Docker image
docker:latest
  1. 修改runner配置
# 打开gitlab-runner配置文件
sudo vim /data/gitlab-runner/config/config.toml

# 将[[runners]] 下 [runners.docker]下的以下参数进行修改
privileged = true
volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
pull_policy = ["if-not-present"]
  1. 重启gitlab-runner的容器
docker restart gitlab-runner

二、升级Gitlab版本

1、停止正在运行的容器

docker stop gitlab

2、进行备份

# 备份前面指定的配置、数据及日志目录
cp -rf /data/gitlab /data/gitlab.backup

3、移除现有容器

docker rm gitlab

4、拉取新镜像。例如,最新的极狐GitLab 镜像

docker pull registry.gitlab.cn/omnibus/gitlab-jh:latest

5、使用先前指定的 选项再次创建容器

# 设置环境变量,指定配置、数据及日志目录
export GITLAB_HOME=/data/gitlab

# 启动容器
docker run --detach \
  --hostname 118.178.240.145 \
  --publish 8111:8111 --publish 8112: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 \
  registry.gitlab.cn/omnibus/gitlab-jh:latest

6、在第一次运行时,极狐GitLab 将重新配置和更新自身。完成更新。

你可能感兴趣的:(知识,docker,devops,运维)