在Szenario之后。 我有1个生产分支和2个开发分支,应该使用不同的环境变量进行部署
allCardC {
nodes {
linkedCards {
id
... on CardB { title }
}
}
}
我想将部署分为两个不同的阶段
- prod
- dev1
- dev2
如何配置gitlab-ci文件,以存储每个分支的脚本和阶段?
我已经尝试了几种方法,但是没有得到有效的ci。
- build
- deploy
是否有可能以这种方式拆分乔布斯?
答案 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