图5.1 GitLab CI/CD流程图
GitLab CI/CD功能基于每个项目根目录下的.gitlab-ci.yml配置文件来实现。
注意:.gitlab-ci.yml是一个YAML格式文件,因此,缩进应该使用空格,而不要使用tab。
简单案例分析:
stages:
- build
- test
- deploy
job 1:
stage: build
script:
- mkdir .public
- cp -r * .public
- mv .public public
artifacts:
paths:
- public
only:
- master
job 2:
stage: test
image: ruby:2.1
script: make test
job 4:
stage: deploy
when: manual
script: make deploy
解释:
stages:关键字,可选,用于自定义任务流程。若缺失,默认流程为:build > test > deploy;
job 1:任务名称,可自由定义,可包含空格;
stage:关键字,用于指定任务在什么stage运行;
script:关键字,按顺序撰写该任务的shell脚本;
artifacts:关键字,用于指定该任务执行完毕后,哪些目录或文件需要保留。所有内容会打包成一个zip压缩包,供下载或后续任务使用;
only:关键字,用于指定以来的代码分支;
image:关键字,可选,可制定一个docker镜像,用于执行该任务。若缺失,使用Runner配置配置;
when:关键字, 可选,用于指定任务触发的条件。若缺失,一旦有代码提交到该分支就会自动运行。可设置为手动触发;
配置文件还包含其他很多强大的功能,具体内容请参考官方文档。后续文章会结合案例说明,这里仅做简单介绍。
网友评论