Merge pull request #247 from avantifellows/main #50
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Deploy to EC2 prod | |
on: | |
push: | |
branches: ["release"] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
Deploy: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Deploy in EC2 | |
env: | |
PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} | |
HOSTNAME: ${{ secrets.HOSTNAME }} | |
USER_NAME: ${{ secrets.USER_NAME }} | |
run: | | |
echo "$PRIVATE_KEY" > private_key && chmod 600 private_key | |
ssh -o StrictHostKeyChecking=no -i private_key ${USER_NAME}@${HOSTNAME} ' | |
#Setting environment variables . | |
cd /var/www/html/db-service-prod/config | |
sed -i "s|DATABASE_URL=.*|DATABASE_URL=${{ secrets.PRODUCTION_DATABASE_URL }}|" .env | |
sed -i "s|SECRET_KEY_BASE=.*|SECRET_KEY_BASE=${{ secrets.PRODUCTION_SECRET_KEY_BASE }}|" .env | |
sed -i "s|PHX_HOST=.*|PHX_HOST=${{ secrets.PRODUCTION_PHX_HOST }}|" .env | |
sed -i "s|WHITELISTED_DOMAINS=.*|WHITELISTED_DOMAINS=${{ secrets.PRODUCTION_WHITELISTED_DOMAINS }}|" .env | |
sed -i "s|POOL_SIZE=.*|POOL_SIZE=${{ secrets.PRODUCTION_POOL_SIZE }}|" .env | |
sed -i "s|PORT=.*|PORT=${{ secrets.PRODUCTION_PORT }}|" .env | |
sed -i "s|BEARER_TOKEN=.*|BEARER_TOKEN=${{ secrets.PRODUCTION_BEARER_TOKEN }}|" .env | |
#Now we have got the access of EC2 and we will start the deploy . | |
cd /var/www/html | |
sudo ./kill_process_on_port_8080.sh | |
cd /var/www/html/db-service-prod/ && | |
sudo git checkout . && | |
if [ -f /var/www/html/db-service-prod/priv/static/swagger.json ]; then | |
sudo rm /var/www/html/db-service/priv/static/swagger.json | |
fi | |
sudo git pull origin release && | |
sudo MIX_ENV=prod mix deps.get && | |
sudo MIX_ENV=prod mix deps.compile && | |
sudo MIX_ENV=prod mix ecto.migrate && | |
sudo MIX_ENV=prod mix phx.swagger.generate && | |
sudo MIX_ENV=prod elixir --erl "-detached" -S mix phx.server | |
' |