如何解决适用于多种环境的Codeship专业版
我有一个可以通过terraform部署代码的代码船。我想为其提供“开发”和“生产”环境,它们将具有不同的环境变量来更改代码的部署位置。
我找到了这个文件,我正在使用https://documentation.codeship.com/pro/common-issues/multiple-environment-context/
但是,我想到的真正使用这些服务的唯一方法是重复所有步骤,就像这样:
codeship-services.yml:
prod:
build:
dockerfile: docker/terraform.docker
volumes:
- ./:/deploy
encrypted_env_file:
- secrets.prod.encrypted
dev:
build:
dockerfile: docker/terraform.docker
volumes:
- ./:/deploy
encrypted_env_file:
- secrets.dev.encrypted
python:
build:
dockerfile: docker/python.docker
volumes:
- ./:/deploy
codeship-steps.yml:
- name: Run Flake8
command: Flake8 .
service: python
cached: true
# Do the TF stuff
- type: serial
name: Prod terraform
exclude: dev
service: prod
cached: true
steps:
- name: init
command: init --input=false ./
- name: validate
command: validate ./
- name: plan
command: plan --input=false --out=./codeship.tfplan
- type: manual
name: terraform
tag: ^release-.*
steps:
- name: Apply
service: prod
command: apply --input=false ./codeship.tfplan
# Do the TF stuff
- type: serial
name: Dev terraform
tag: dev
service: dev
cached: true
steps:
- name: Init
command: init --input=false ./
- name: Validate
command: validate ./
- name: Plan
command: plan --input=false --out=./codeship.tfplan
- type: manual
name: terraform
tag: dev
steps:
- name: Apply
service: dev
command: apply --input=false ./codeship.tfplan
在本地运行时,需要提供“ --tag dev”。我主要关心的是重复我的步骤文件的所有步骤。有更好的方法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。