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配置文件如下配置:

 效果如下:

 

posted on 2025-06-27 00:00  wadeson  阅读(18)  评论(0)    收藏  举报