gitlab-ci/cd (三)gitlab-ci.yml文件的编写

1,180

gitlab-ci/cd工作流简单说明

gitlab上的仓库有项目提交的时候,且项目中存在.gitlab-ci.yml文件,gitlab会解析该文件中的配置,如果符合配置的触发条件,则会掉起gitlab-runner来执行一条流水任务

所以想要处罚gitlab的流水任务(ci/cd),需要在根目录下建立.gitlab-ci.yml来进行配置

gitlab-ci.yml配置

详细的配置客参考gitlab官方文档

推荐参考博客

一个简单的.gitlab-ci.yml配置案例


#当前流水线所需要的镜像环境
image: node:alpine  

#缓存,gitlab流水线会将安装的node包移除,需要设置缓存
cache:
  key: node_modules
  paths: 
    - node_modules

# 任务阶段,默认的有 .pre 、 build 、 test 、deploy 、.post(执行有先后顺序) 
# 也可以自定义阶段,自己定义的阶段,执行顺序是从上往下依次执行
# 例如下面的例子job_2会比jon_1先执行
stages:
    - stage2
    - stage1
    - stage3

# 具体的任务  
job_1:
    stage: stage1 #任务阶段,可不定义,从全局的stages里面取,如果没有定义则从默认的stages里面取
    script:   #执行的脚本
        - npm i 
        - npm run build
    retry: 2  #任务失败后重试的次数
job_2:
    stage: stage2
    script: echo 'hello world2'
job_2-2:
    stage: stage2
    script: echo 'hello world2-2'
    only: 
      - release  #当分支名是release的时候才执行
job_3:
    stage: stage3
    script: echo 'hello world3'