Как передать ssh ключ через secrets в GitHub Actions?
Как можно сохранить или передать напрямую приватную часть SSH ключа?
Не рабочий вариант:
- name: "[build] run docker build"
run: >
echo $TMP_SSH_KEY > tmp_secret;
docker build
--tag $DOCKER_IMG_NAME:$DOCKER_IMG_TAG
--tag $DOCKER_IMG_NAME:latest
--file .docker/app.dockerfile
--ssh github-ssh-key=tmp_secret
.
shell: "bash"
env:
TMP_SSH_KEY: ${{ secrets.GHA_TOKEN }}
Вываливается с ошибкой:
could not parse ssh: [github-ssh-key=tmp_secret]: failed to parse tmp_secret: ssh: no key found
Во время сборки образа на локальной машине я указываю путь к ключу и он собирается без ошибок. Этот процесс подтягивает несколько закрытых репозиториев для установки Python requirements.txt.
При использование gha (GitHub Actions) отваливается с ошибкой. Не смог найти в докумунтации как передавать секреты в docker из gha.
Ссылки
- https://stackoverflow.com/questions/59481933
- https://docs.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets
- https://docs.docker.com/develop/develop-images/build_enhancements/
Ответы (1 шт):
Автор решения: Hellseher
→ Ссылка
Решил эту задачи через сохранине секрета в файл и дальнейшего монтирования в докер --volume