2022-03-23 日报总结
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. 跑起的样子
提交代码后,触发过的