Как передать переменные окружения в окружности без фиксации в git - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть простой проект, над которым я работаю.

Я использую circleci для своих конвейеров CI / CD.

Когда я нажимаю коммит, сборка запускается, тесты запускаются и ЕСЛИ онипройти, то приложение упаковано в образ докера.

Затем изображение передается в dockerhub, и отсюда я могу просто вытянуть изображение в docker compose или kubernetes или в любом другом месте.

Все это прекрасно работает.

У меня вопрос как может передавать учетные данные докера-концентратора в окружности, не раскрывая их публике, передавая их контролю исходного кода?

В прошлом в предыдущем проектеЯ чувствую, что развернул проект Serverless Framework в 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

1 Ответ

0 голосов
/ 21 февраля 2019

Вы устанавливаете частные переменные окружения через пользовательский интерфейс.https://circleci.com/docs/2.0/env-vars/#setting-an-environment-variable-in-a-project

...