Open labanca opened 1 year ago
Fazer include .env
cria as variáveis no make mas não cria variáveis de ambiente acessíveis para outros programas. Pra fazer isso é necessário adicionar uma diretiva export
na definição das variáveis:
export FOO = 'bar'
Vale ressaltar que bibliotecas como python-dotenv e dotenv ignoram a diretiva export
e portanto também vão funcionar com esse arquivo .env
.
Criar um arquivo
.env
dentro do repositório contendo a variável de ambiente a ser passada para o make:IMPORTANTE: NÃO esquecer de adicionar o arquivo .env ao
.gitignore
para evitar upload de tokens, senhas e outros segredos para o github.Realizar
include
do arquivo.env
no makefile. Exemplo no makefile do repo volumes-loa:Sendo
DOCKER_SRC_DIR
o working directory (CWD) que é obtido dentro do config.mk.No config.mk é necessário passar parâmetro
-e
para o comandodocker run
que indicará o nome da variável de ambiente e seu valor. No caso exemplo, é o token de autenticação do github que é fornecido ao make pelos passos descritos anteriormente:DOCKER_RUN_CMD = $(shell echo $(WINPTY) docker run -e GITHUB_TOKEN=$(GITHUB_TOKEN) --rm -ti -p 8787:8787 --mount type=bind,source=$(DOCKER_SRC_DIR),target=/home/rstudio --name volumes-loa fjuniorr/volumes:ploa2024 bash)
Com isso, container docker montado conterá a variável de ambiente especificada e poderá ser usada por ele.
Para visualizar as variáveis de ambiente com o container em execução, utilizar o comando bash
printenv
: