gitlab-ci-不同分支具有多个阶段的作业

时间:2019-04-15 23:52:57

标签: gitlab-ci continuous-deployment

在Szenario之后。 我有1个生产分支和2个开发分支,应该使用不同的环境变量进行部署

allCardC {
    nodes {
        linkedCards {
            id
            ... on CardB { title }
        }
    }
}

我想将部署分为两个不同的阶段

- prod
- dev1
- dev2

如何配置gitlab-ci文件,以存储每个分支的脚本和阶段?

我已经尝试了几种方法,但是没有得到有效的ci。

- build
- deploy

是否有可能以这种方式拆分乔布斯?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 只需为每个环境添加一个作业。

 stages:
 - build
 - deploy

 variables:
 IMAGE: my_image

 # Production
 prod-build:
   stage: build
   script:
   - docker build -t $IMAGE --build-arg RAILS_ENV=production .
   only:
   - prod

 prod-deploy:
   stage: deploy
   script:
   - docker push $IMAGE
   - docker run -e "some production relevated env vars"
   only:
   - prod

 # Development 1
 dev1-build:
   stage: build
   script:
   - docker build -t $IMAGE --build-arg RAILS_ENV=staging .
   only:
   - dev1

 dev2-deploy:
   stage: deploy
   script:
   - docker push $IMAGE
   - docker run -e "some dev1 relevated env vars"
   only:
   - dev1

 # Development 2
 dev2-build:
   stage: build
   script:
   - docker build -t $IMAGE --build-arg RAILS_ENV=staging .
   only:
   - dev2

 dev2-deploy:
   stage: deploy
   script:
   - docker push $IMAGE
   - docker run -e "some dev2 relevated env vars"
   only:
   - dev2
相关问题