Docker搭建 gitlab服务+gitlab-runner

2022-03-23 日报总结

参考地址1

参考地址2

Docker搭建gitlab服务

1.容器构建

在这之前在本地创建了对应的目录:

  • /Users/xxx/data/docker/gitlab/config
  • /Users/xxx/data/docker/gitlab/logs
  • /Users/xxx/data/docker/gitlab/data
docker run --detach \
  --publish 8888:8888 --publish 24:22 \
  --name gitlab \
  --restart always \
  --volume /Users/xxx/data/docker/gitlab/config:/etc/gitlab \
  --volume /Users/xxx/data/docker/gitlab/logs:/var/log/gitlab \
  --volume /Users/xxx/data/docker/gitlab/data:/var/opt/gitlab \
  --privileged=true \
  gitlab/gitlab-ce:latest

2. 配置文件

/Users/lovemm/data/docker/gitlab/config

external_url 'http://127.0.0.1:8888'
gitlab_rails['gitlab_ssh_host'] = '127.0.0.1'
gitlab_rails['gitlab_shell_ssh_port'] = 24

3. 重启容器

docker restart gitlab

请添加图片描述

4. 设置超管账密

1. 进入容器

docker exec it gitlab bash

2. 更新源,安装sudo
apt-get update
apt-get install sudo -y
3. 进入配置目录
cd /opt/gitlab/bin
4. 更改账密

账密为 root=====0101540303

sudo gitlab-rails  console
# 稍微等一等后
u=User.where(id:1).first
u.password='0101540303'
u.password_confirmation='0101540303'
u.save!

Docker 搭建 gitlab-runner

1. 容器构建

记得提前创建对应的目录:

docker run -d \
--name gitlab-runner  \
-v /Users/xxx/data/docker/gitlab-runner/cicd/config:/etc/gitlab-runner \
-v /Users/xxx/data/docker/gitlab-runner/cicd/docker.sock:/var/run/docker.sock  \
gitlab/gitlab-runner:latest

2. 注册gitlab-runner

1. 进入容器

docker exec it gitlab-runner bash

2. 注册
> gitlab-runner register
# 输入 GitLab 地址
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
> http://192.168.10.132/

# 输入 GitLab Token
Please enter the gitlab-ci token for this runner:
> 1Lxq_f1NRfCfeNbE5WRh

# 输入 Runner 的说明
Please enter the gitlab-ci description for this runner:
> 可以为空

# 设置 Tag,可以用于指定在构建规定的 tag 时触发 ci
Please enter the gitlab-ci tags for this runner (comma separated):
> deploy

# 这里选择 true ,可以用于代码上传后直接执行
Whether to run untagged builds [true/false]:
> true

# 这里选择 false,可以直接回车,默认为 false
Whether to lock Runner to current project [true/false]:
> false

# 选择 runner 执行器,这里我们选择的是 shell
Please enter the executor: virtualbox, docker+machine, parallels, shell, ssh, docker-ssh+machine, kubernetes, docker, docker-ssh:
> shell
3. 刷新gitlab

请添加图片描述

3. 项目增加gitlab-ci.yml文件

cache:
  untracked: true
  key: $CONT_NAME
  paths:
    - node_modules/
    - dist/

stages:
  - build
  - deploy
  - cleanup

build: # 编译阶段
  stage: build
  only:
    - prod # 只有prod更新的时候才执行命令
  tags:
    - ***
  script:
    - docker build -t $IMAGE_PROD .
    - docker push $IMAGE_PROD

deploy: # 部署阶段
  stage: deploy
  only:
    - prod
  tags:
    - ***
  script:
    - ssh $SERVER_ADDR docker-compose -f ${SERVER_PATH}/docker-compose.yml up -d
    - ssh $SERVER_ADDR docker-compose -f ${SERVER_PATH}/docker-compose.yml stop $CONT_NAME
    - ssh $SERVER_ADDR docker-compose -f ${SERVER_PATH}/docker-compose.yml pull $CONT_NAME
    - ssh $SERVER_ADDR docker-compose -f ${SERVER_PATH}/docker-compose.yml up -d --build $CONT_NAME

cleanup: # 清理作业
  stage: cleanup
  only:
    - prod
  tags:
    - ***
  script:
    - echo "回收垃圾"
  when: always

4. 跑起的样子

提交代码后,触发过的

请添加图片描述

后期需要搞个正确的 gitlab-ci.yml文件跑跑

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值