Как получить переменные репо Bitbucket Pipeline для моей локальной сборки Docker? - PullRequest
0 голосов
/ 06 декабря 2018

Моя цель - иметь возможность разрабатывать / добавлять функции локально, а затем создавать локальную сборку докера и создавать контейнер, используя переменные репозитория Bitbucket Pipeline Repo.Я не хочу жестко кодировать какие-либо секреты на хост-машине или внутри кода.Я пытаюсь получить доступ к некоторым API-ключам, размещенным в переменных репозитория конвейера Bitbucket.

Кто-нибудь знает, как это сделать?Я имею в виду некоторый скрипт внутри Dockerfile, который будет создавать переменные среды внутри контейнера.

1 Ответ

0 голосов
/ 06 декабря 2018

Вы можете передать эти переменные в свой контейнер как переменные среды, когда вы запускаете контейнер с флагом -e (см .: этот вопрос ), вы можете использовать переменные bitbucket на этом этапе.Когда вы сделаете это, переменные будут доступны в вашем док-контейнере, но, конечно, вам все равно придется использовать их в вашем скрипте python, я полагаю?

Вы можете легко сделать это следующим образом:

variable = os.environ['ENV_VARIABLE_NAME']

Если вы не хотите передавать переменные в виде простого текста таким командам, вы также можете настроить контейнер MySQL, связанный с вашим контейнером python, который предоставляет вашему приложению переменные.Таким образом, все защищено, динамично и не видно нигде, кроме пользователей, имеющих доступ к вашей базе данных, и все еще может быть легко изменено.Настройка занимает немного больше времени, но это меньше хлопот, чем файл .env.

Надеюсь, это поможет вам

...