gitlab cicd
1、当gitlab-runner为docker类型:
[root@localhost ~]# docker run -itd --restart always --name gitlab-runner -v /data/gitlab-runner/config:/etc/gitlab-runner registry.cn-hangzhou.aliyuncs.com/jsonhc/gitlab-runner:v15.6.0 9b6c15474d766cdb58b57536349ab40630f33804846114248f42b1603c657cea


2、通过此runner进行springboot cicd构建:


此类型报错说明docker类型的runner里面没有docker服务,所以需要将docker服务从宿主机映射到docker runner:
[root@localhost ~]# docker stop gitlab-runner && docker rm gitlab-runner gitlab-runner gitlab-runner [root@localhost ~]# docker run -itd --restart always --name gitlab-runner -v /data/gitlab-runner/config:/etc/gitlab-runner -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock registry.cn-hangzhou.aliyuncs.com/jsonhc/gitlab-runner:v15.6.0 f1deaab2ac0b2292cb13b942e54a8c46602e1ff2cda34d26773e8a32965b770a
再次执行job:

build步骤运行成功,运行deploy步骤:

解决办法:

将上面配置进行修改如下:

重新执行deploy:

查看镜像:

Artifacts:

获取Artifacts包:

对应的就是target目录
如果去掉下面设置:

那么deploy这个stage就不会有build生成的target目录:

before_script:表示stage script之前的操作:


部署好harbor,以及登录正常后,更新DOCKER_AUTH_CONFIG变量,将harbor配置进行新增:

新增harbor密码变量:

更新.gitlab-ci.yml:
stages: - build - deploy default: tags: - 192.168.213.100-docker cache: paths: - ./target build: image: registry.cn-hangzhou.aliyuncs.com/jsonhc/maven:3.5.0-jdk-8-alpine stage: build before_script: - echo "$CI_JOB_ID" # $CI_JOB_ID表示当前执行的job id,逐渐递增 script: - echo $CI_PROJECT_DIR # echo $CI_PROJECT_DIR:/builds/root/demo - mvn -s settings.xml -f pom.xml -U clean package -Dmaven.test.skip=true only: - main deploy: image: docker:stable stage: deploy script: - ls -l && ls -l target - mkdir -p $HOME/.docker - echo $DOCKER_AUTH_CONFIG > $HOME/.docker/config.json - cat $HOME/.docker/config.json - docker build -t 192.168.213.100/demo/demo:$CI_JOB_ID . - docker login -uadmin 192.168.213.100 -p $HARBOR_PASSWORD - docker push 192.168.213.100/demo/demo:$CI_JOB_ID only: - main
执行后,正常提交到harbor仓库:

build maven构建缓存高速构建:

docker runner将宿主机创建目录映射到docker目录内:
[root@localhost ~]# mkdir /data/gitlab-runner/data [root@localhost ~]# chmod 777 /data/gitlab-runner/data/
修改配置文件:/data/gitlab-runner/config/config.toml

.gitlab-ci.yml配置文件如下配置:

效果如下:

浙公网安备 33010602011771号