官方文档
通用示例
stages: #定义步骤列表类型,从上往下执行 - build - release build: #job名字 stage: build #和stages对应的名字 image: i.harbor.xxxx.com/public/node:10-alpine-node-sass #使用的镜像,如果不写,就是注册runner默认镜像 script: #镜像执行命令,这里我构建node的东西 - npm install && npm run build - ls -al artifacts: #构建完成后,构建的产物(目录或者文件),丢给后面的步骤 paths: - .nuxt/ - . tags: #选择runner的tag - rancher - dev only: #构建选择,如下,只选择develop的分支构建 - develop release: stage: release before_script: #执行前执行 - eval $(ssh-agent -s) - echo "$HIFIVE_SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null - mkdir -p ~/.ssh - chmod 700 ~/.ssh image: i.harbor.xxxx.net/public/ssh-client:rsync script: - ssh -p 22 -o StrictHostKeyChecking=no root@1.1.1.1 -- "pm2 del openmusic-web|true" - rsync -azP --exclude=".gitignore" --exclude=".git" --delete ./ root@1.1.1.1:/data/wwwroot/openmusic-web/ - ssh -p 22 -o StrictHostKeyChecking=no root@1.1.1.1 -- "ls -al /data/wwwroot/hifive-openmusic-web/" - ssh -p 22 -o StrictHostKeyChecking=no root@1.1.1.1 -- "cd /data/wwwroot/openmusic-web/ && pm2 start npm --watch --name openmusic-web -- run start " tags: - rancher - dev only: - develop when: on_success #只有当上一个job成功才执行,默认就是on_success
关键词 | 描述 |
由Runner执行的Shell脚本。 | |
使用docker镜像。 image: centos:7 | |
使用docker services图像。 | |
覆盖在作业之前执行的一组命令。 | |
覆盖作业后执行的一组命令。 | |
定义管道中的阶段。列表 | |
定义作业阶段(默认值:) test。 | |
创建作业时限制(常用于分支选择)。 常见用法: only: - branches #所有分支 - tags - /^issue-.*$/ #正则匹配issue-的分支 - master #master分支 | |
在未创建作业时限制(常用于排除分支)。 | |
用于选择Runner的标签列表 常用范例: tags: - runner - dev | |
让工作失败。失败的作业无助于提交状态。 | |
什么时候开始工作。 参数: on_success:只有当前一个阶段的所有工作都成功时,默认值。 on_failure:仅当前一阶段的至少一个作业失败时才执行作业。 always:无论先前阶段的工作状态如何,都可以执行工作。 manual:手动执行作业(在GitLab 8.10中添加)。 | |
作业部署到的环境的名称。 也可用:environment:name,environment:url, environment:on_stop,和environment:action。 | |
后续运行之间应缓存的文件列表。 也可用:cache:paths,cache:key, cache:untracked,和cache:policy。 | |
构建完成后,构建的产物(目录或者文件),丢给后面的步骤 常用范例: artifacts: paths: - .nuxt/ | |
作业所依赖的其他作业,以便您可以在它们之间传递工件。 | |
给定作业的代码覆盖率设置。 | |
在发生故障的情况下,可以自动重试作业的次数和次数。 | |
应该并行运行多少个作业实例。 | |
定义下游管道触发器。 | |
允许此作业包含外部YAML文件。 | |
此作业将继承的配置条目。 | |
上传作业结果以用于GitLab Pages。 | |
在作业级别定义作业变量。 |
评论区