gpt4 book ai didi

docker - 如何在不提交给 git 的情况下在 circleci 中传递环境变量

转载 作者:行者123 更新时间:2023-12-02 18:14:24 30 4
gpt4 key购买 nike

我正在做一个简单的项目。

我正在为我的 CI/CD 管道使用 circleci。

当我推送提交时,构建运行,测试运行,如果它们通过,则应用程序被打包到一个 docker 镜像中。

然后图像被推送到 dockerhub,从这里我可以在 docker compose 或 kubernetes 或其他软件中将图像拉下来。

这一切都很完美。

我的问题是如何将 docker-hub 凭据传递给 circleci,而不通过将它们提交给源代码控制将它们暴露给公众?

在过去的上一个项目中,我觉得我将一个无服务器框架项目部署到了​​ AWS 上,为此我确定我将我的 AWS 证书存储在 circleci 的某个地方,这样我就可以在我的 .circleci/中安全地引用它们配置.yml.

这是很久以前的事了,我找不到怎么做。

谁能用这个给我指出正确的方向?

我提供 config.yml 只是为了更简洁地说明我的工作流程。

version: 2
jobs:
build:
docker:
- image: circleci/golang:1.11

environment:
TEST_RESULTS: /tmp/test-results

steps:
- checkout
- run: mkdir -p $TEST_RESULTS

- restore_cache:
keys:
- v1-pkg-cache

- run: go get github.com/lib/pq
- run: go get github.com/mattes/migrate
- run: go get github.com/jstemmer/go-junit-report
- run: go mod download
- run: go build

- run:
name: Run unit tests
command: go test ./...

- save_cache:
key: v1-pkg-cache
paths:
- "/go/pkg"

- run:
name: Start service
command: go run main.go
background: true

- store_artifacts:
path: /tmp/test-results
destination: raw-test-output

- store_test_results:
path: /tmp/test-results

- setup_remote_docker:
docker_layer_caching: true

# TODO: need to pull docker-hub credentials safely from environment variables and then the docker image can be pushed up to dockerhub.
- run:
name: build and push container
command: |
docker build -t myrepo/im-projects:LATEST -t myrepo/im-projects:v0.0.1 .
echo $DOCKER_PWD | docker login -u username -p password
docker push myrepo/im-projects:LATEST

最佳答案

关于docker - 如何在不提交给 git 的情况下在 circleci 中传递环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54807587/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com