在单个Gitlab合并请求上构建多个构建服务器?

时间:2017-10-25 20:39:36

标签: gitlab gitlab-ci gitlab-ci-runner

我需要一些方向。我正在阅读我在网上找到的任何文档,但它没有找到正确的突触,或者我还没找到正确的链接。在对可部署环境的合并请求中,我想在两台独立的机器上启动构建。两台机器都是IBM Is,运行不同版本的操作系统。我希望这些构建和后续部署能够彼此独立发生。

我的.yml文件包含两台机器(QQDEV和BNADEV)的构建条目,但构建顺序发生,而不是并行发生。下图是Gitlab绘制的内容。

enter image description here

对我来说,从上图看,build_BNADEV和build_QQDEV看起来都要运行部署作业DEV_BNADEV和DEV_QQDEV。我希望build_BNADEV能够运行DEV_BNADEV等,除了并行构建之外,这是一个单独的问题。

我在这需要什么?另一位选手?另一条管道?只是在这里寻找一般指针和方向。

这是我的YAML。

stages:
  - build
  - deploy

build_QQDEV:
  variables: 
    THING: "This is a THING for build for QQDEV"
  script:
    - "bash ./GitLabCI/GitLabCI.Build.sh qqdev"
  stage: build
  only:
    - DEV
    - QA
    - UAT
    - PROD

build_BNADEV:
  variables: 
    THING: "This is a THING for build for BNADEV"
  script:
    - "bash ./GitLabCI/GitLabCI.Build.sh bnadev"
  stage: build
  only:
    - DEV
    - QA

DEV_QQDEV:
  variables: 
    THING: "This is a THING for deploy_DEV_QQDEV"
    ASPGRP: "*NONE"
  script:
    - "bash ./GitLabCI/GitLabCI.Deploy.sh QQDEV EPDEV1_5 /home/quikq/1.5/dev"
  stage: deploy
  environment:
    name: DEV
  only:
    - DEV

DEV_BNADEV:
  variables: 
    THING: "This is a THING for deploy_DEV_BNADEV"
    REBUILD_DEPLOYMENT: "0"
    ASPGRP: "DATADEV"
  script:
    - "bash ./GitLabCI/GitLabCI.Deploy.sh BNADEV EPDEV1_5 /home/quikq/1.5/dev"
  stage: deploy
  environment:
    name: DEV
  only:
    - DEV

QA_QQDEV:
  variables: 
    THING: "This is a THING for deploy_QA_QQDEV"
    ASPGRP: "*NONE"
  script:
    - "bash ./GitLabCI/GitLabCI.Deploy.sh QQDEV EPQA1_5 /home/quikq/1.5/qa"
  stage: deploy
  environment:
    name: QA
  only:
    - QA

QA_BNADEV:
  variables: 
    THING: "This is a THING for deploy_QA_BNADEV"
    REBUILD_DEPLOYMENT: "0"
    ASPGRP: "DATADEV"
  script:
    - "bash ./GitLabCI/GitLabCI.Deploy.sh BNADEV EPQA1_5 /home/quikq/1.5/qa"
  stage: deploy
  environment:
    name: QA
  only:
    - QA

UAT_QQ:
  variables: 
    THING: "This is a THING for deploy_UAT_QQ"
    ASPGRP: "*NONE"
  script:
    - "bash ./GitLabCI/GitLabCI.Deploy.sh QQ EPUAT1_5 /home/quikq/1.5/uat"
  stage: deploy
  environment:
    name: UAT
  only:
    - UAT

UAT_QQBNA:
  variables: 
    THING: "This is a THING for deploy_UAT_QQBNA"
    ASPGRP: "*NONE"
  script:
    - "bash ./GitLabCI/GitLabCI.Deploy.sh QQBNA EPUAT1_5 /home/quikq/1.5/uat"
  stage: deploy
  environment:
    name: UAT
  only:
    - UAT

PROD_QQ:
  variables: 
    THING: "This is a THING for deploy_PROD_QQ"
    ASPGRP: "*NONE"
  script:
    - "bash ./GitLabCI/GitLabCI.Deploy.sh QQ EPPROD1_5 /home/quikq/1.5/prod"
  stage: deploy
  environment:
    name: PROD
  only:
    - PROD

PROD_QQBNA:
  variables: 
    THING: "This is a THING for deploy_PROD_QQBNA"
    ASPGRP: "*NONE"
  script:
    - "bash ./GitLabCI/GitLabCI.Deploy.sh QQBNA EPPROD1_5 /home/quikq/1.5/prod"
  stage: deploy
  environment:
    name: PROD
  only:
    - PROD

0 个答案:

没有答案