- A+
所属分类:gitlab
官方文档
通用示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
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。
|
|
在作业级别定义作业变量。
|
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫