У меня есть простой проект, над которым я работаю.
Я использую 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