【问题标题】:How to pass environment variables in circleci without committing to git如何在circleci中传递环境变量而不提交git
【发布时间】:2019-07-15 09:31:42
【问题描述】:

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

我在 CI/CD 管道中使用 circleci。

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

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

这一切都很完美。

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

在以前的项目中,我觉得我在 AWS 上部署了一个无服务器框架项目,为此我确信我将我的 AWS 凭据存储在 circleci 的某个地方,这样我就可以在我的 .circleci/ 中安全地引用它们config.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 environment-variables circleci dockerhub circleci-2.0


【解决方案1】:

【讨论】:

  • 非常感谢。这正是我想要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-26
  • 2020-10-07
  • 1970-01-01
  • 2020-09-24
相关资源
最近更新 更多