.gitlab-ci.yml配置参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.gitlab-ci.yml配置参数相关的知识,希望对你有一定的参考价值。

参考技术A 由docs.gitlab.com中摘:

使用stages定义包含的工作组阶段。stages是为管道全局定义的。stage在作业中使用以定义作业属于哪个阶段。
如果没有定义stages,默认的流水线阶段是:

stages项目的顺序定义了作业的执行顺序:

1.所有作业build并行执行
2.如果所有作业都build成功,则test作业并行执行
3.如果所有作业都test成功,则deploy作业并行执行
4.如果所有作业都deploy成功,则管道标记为passed

任何作业失败,管道都会被标记成failed,并且后续阶段的作业也不会启动。如果作业未制定stage,则为该作业分配test阶段。
如果定义了一个阶段,但没有作业使用它,则该阶段在管道中不可见。这对于合规性管道配置很有用,因为:

笑话分享

1、在Gitlab项目的Setting > Variables 里增加SSH_PASSWORD和SSH_USERNAME变量,分别保存服务器的登录用户名和密码;这两个变量在.gitlab-ci.yml里会用到

2、在.gitlab-ci.yml里增加以下配置,其中的serverName替换为服务器的域名或IP,deploytest为自己写的部署脚本;其他参数按需自定义

01
02
03
04
05
06
07
08
09
10
11
12
13
14
stages:
  - deploy-test
 
deploy-test:
  stage: deploy-test
  script:
    - sshpass -p "$SSH_PASSWORD" ssh -o StrictHostKeyChecking=no -p 22 $SSH_USERNAME@serverName "cd /data/www/deploy_test; ./deploytest master quiet"
  environment:
    name: test
  when: manual
  tags:
    - chest
  only:
    - master

以上-o StrictHostKeyChecking=no是必须的,否则会出现ERROR: Job failed: exit code 1报错;细究以下发现是gitlab里的容器第一次ssh登录服务器会出现以下提示,因为没有响应而报错。

以上是关于.gitlab-ci.yml配置参数的主要内容,如果未能解决你的问题,请参考以下文章

笑话分享

获取使用 .gitlab-ci.yml 运行的 Windows Docker 容器

Gitlab持续集成-(.gitlab-ci.yml)

iOS进行CI集成

gitlab 添加 CI CD

使用 gitlab-ci 构建多个 Docker 镜像