正如您在我当前的CircleCi config.yml
文件中看到的那样,我将项目目录安装到
Docker容器。感觉好像我做错了。
我在Google上能找到的就是-“如何使用CircleCi构建和发布Docker映像”
我的问题是-是否可以使用预先构建的Docker映像来构建/执行我的应用程序,而无需使用机器执行器和dind?
jobs:
terraform-apply:
machine: true
steps:
- checkout
- run:
name: terraform-apply
command: |
declare -n AWS_ACCESS_KEY_ID_SECRET_NAME=aws_access_key_id_${CIRCLE_BRANCH}
declare -n AWS_SECRET_ACCESS_KEY_SECRET_NAME=aws_secret_access_key_${CIRCLE_BRANCH}
export AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID_SECRET_NAME}
export AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY_SECRET_NAME}
docker run --rm -w="/code" -e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e CIRCLE_BRANCH -v "${HOME}"/project/:/code/ unfor19/terraform-alpine:0.12.28 /code/scripts/tf-apply-circleci.sh
使用drone.io,可以创建自定义的Docker映像unfor19/drone-terraform:dev并使用它,而不用在构建/执行应用程序时安装依赖项。
steps:
- name: terraform-apply
when:
branch:
- development
- staging
- production
depends_on:
- prepare-files-folders
image: unfor19/drone-terraform:dev
environment:
AWS_ACCESS_KEY_ID:
from_secret: aws_access_key_id_${DRONE_BRANCH}
AWS_SECRET_ACCESS_KEY:
from_secret: aws_secret_access_key_${DRONE_BRANCH}
settings:
actions:
- validate
- plan
- apply
root_dir: ${DRONE_BRANCH}/
vars:
environment: ${DRONE_BRANCH}