Как передать переменные окружения в окружности без фиксации в git
У меня есть простой проект, над которым я работаю.
Я использую окружность для своих конвейеров 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 ответ
Вы устанавливаете частные переменные окружения через пользовательский интерфейс. https://circleci.com/docs/2.0/env-vars/