gitlab-ci.yml介绍

admin 2021-12-21 PM 6134℃ 0条

我们的项目通过Gitlab-Runner来支持CI/CD。gitlab-ci.yml是用来管理Runner任务的配置文件,用于定义Runner在各个阶段所需要执行的具体任务。

举例,以下gitlab-ci.yml定义了master分支代码提交,以及打tag后分别触发的不同任务:

before_script:
  - docker login -u$ROBOT_NAME -p$ROBOT_PASS http://dhub.xx.cn
 
stages:
  - build
  - push
 
build:
  stage: build
  variables:
    CI_DEBUG_TRACE: "false"
  script:
    # - export IMAGE_TAG= "dhub.xx.cn/bash/jre8:`echo $CI_COMMIT_REF_NAME`| grep 's/^v//g'"
    - docker build -t dhub.xx.cn/base/jre8:demo .
  only:
    - master
  tags:
    - shell
push:
  stage: push
  variables:
    CI_DEBUG_TRACE: "false"
  script:
    - docker build -t "dhub.xx.cn/base/jre8:`echo $CI_COMMIT_TAG | sed 's/release\-v//g'`" .
    - docker push "dhub.xx.cn/base/jre8:`echo $CI_COMMIT_TAG | sed 's/release\-v//g'`"
  only:
    - /release\-v.*/
  tags:
    - shell

开发在master上提交代码时,将自动触发build任务,如果build失败,将自动通知开发进行问题修复
开发在master上打tag,且tag符合格式,譬如 release-v1.2.3时,将自动触发push任务,进行docker镜像构建,并将镜像自动推送到镜像仓库

更多git-ci.yml的内容,可参考:

非官方的中文翻译:https://segmentfault.com/a/1190000010442764
官方英文文档:https://docs.gitlab.com/ce/ci/quick_start/README.html

标签: k8s

非特殊说明,本博所有文章均为博主原创。

评论已关闭