O workflow do EC2 é executado corretamente. Porém, ao acessar a máquina EC2 via SSH, vejo nos logs que a aplicação não chegou a subir pois as variáveis de ambiente não foram carregadas. Segue exemplo do que acontece ao tentar ver as variáveis e o meu arquivo de workflow
echo $DB_USER
(O espaço em branco é o retorno: vazio)
- name: executing remote ssh commands using password
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.REMOTE_HOST }}
username: ${{ secrets.REMOTE_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: 22
script: |
export DB_HOST=${{ secrets.DBHOST }}
export DB_USER=${{ secrets.DBUSER }}
export DB_PASSWORD=${{ secrets.DBPASSWORD }}
export DB_NAME=${{ secrets.DBNAME }}
export DB_PORT=${{ secrets.DBPORT }}
export PORT=8000
chmod +x main
nohup ./main > nohup.out 2> nohup.err < /dev/null &
- Já verifiquei o secrets do repositório, os nomes estão corretos
- Modifiquei o nome das variáveis no código também
stringDeConexao := "host="+os.Getenv("DB_HOST")+" user="+os.Getenv("DB_USER")+" password="+os.Getenv("DB_PASSWORD")+" dbname="+os.Getenv("DB_NAME")+" port="+os.Getenv("DB_PORT")+" sslmode=disable"
- O log do step de execução dos comandos SSH aponta que os comandos foram executados corretamente