Skip to content

118. Little extra touches #89

118. Little extra touches

118. Little extra touches #89

Workflow file for this run

name: Docker Image CI
on:
push:
branches: ["main" ]
pull_request:
branches: ["main"]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Docker Checkout
uses: actions/checkout@v3
- name: Docker Login
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and Push
env:
POSTGRES_PASSWORD: ${{ secrets.POSTGRES_PASSWORD }}
POSTGRES_USER: ${{ secrets.POSTGRES_USER }}
POSTGRES_DB: ${{ secrets.POSTGRES_DB }}
NEXT_PORT: ${{ secrets.NEXT_PORT }}
DB_NAME: ${{ secrets.DB_NAME }}
HOME: ${{ secrets.HOME }}
SERVER_PORT: ${{ secrets.SERVER_PORT }}
AUTH0_SECRET: ${{ secrets.AUTH0_SECRET }}
AUTH0_BASE_URL: ${{ secrets.AUTH0_BASE_URL }}
AUTH0_ISSUER_BASE_URL: ${{ secrets.AUTH0_ISSUER_BASE_URL }}
AUTH0_CLIENT_ID: ${{ secrets.AUTH0_CLIENT_ID }}
AUTH0_CLIENT_SECRET: ${{ secrets.AUTH0_CLIENT_SECRET }}
LOCAL_DATABASE_URL: ${{ secrets.LOCAL_DATABASE_URL }}
REMOTE_DATABASE_URL: ${{ secrets.REMOTE_DATABASE_URL }}
NODEMAILER_PIN: ${{ secrets.NODEMAILER_PIN }}
NODEMAILER_EMAIL: ${{ secrets.NODEMAILER_EMAIL }}
NEXT_PUBLIC_BACKEND_SERVER: "http://cleo.centralindia.cloudapp.azure.com:4000"
run: |
docker compose build
docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }}
docker compose push
- name: copy file via ssh password
uses: appleboy/[email protected]
with:
host: ${{ secrets.AWS_HOST }}
username: ${{ secrets.AWS_USERNAME }}
key: ${{ secrets.AWS_KEYPAIR }}
source: "docker-compose.yaml"
target: "/home/azureuser/"
- name: SSH to AWS Instance and Pull Image
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.AWS_HOST }}
username: ${{ secrets.AWS_USERNAME }}
key: ${{ secrets.AWS_KEYPAIR }}
script: |
touch .env
echo "POSTGRES_PASSWORD=${{ secrets.POSTGRES_PASSWORD }}" > .env
echo "POSTGRES_USER=${{ secrets.POSTGRES_USER }}" >> .env
echo "POSTGRES_DB=${{ secrets.POSTGRES_DB }}" >> .env
echo "NEXT_PORT=${{ secrets.NEXT_PORT }}" >> .env
echo "DB_NAME=${{ secrets.DB_NAME }}" >> .env
echo "HOME=${{ secrets.HOME }}" >> .env
echo "SERVER_PORT=${{ secrets.SERVER_PORT }}" >> .env
echo "AUTH0_SECRET=${{ secrets.AUTH0_SECRET }}" >> .env
echo "AUTH0_BASE_URL=${{ secrets.AUTH0_BASE_URL }}" >> .env
echo "AUTH0_ISSUER_BASE_URL=${{ secrets.AUTH0_ISSUER_BASE_URL }}" >> .env
echo "AUTH0_CLIENT_ID=${{ secrets.AUTH0_CLIENT_ID }}" >> .env
echo "AUTH0_CLIENT_SECRET=${{ secrets.AUTH0_CLIENT_SECRET }}" >> .env
echo "LOCAL_DATABASE_URL=${{ secrets.LOCAL_DATABASE_URL }}" >> .env
echo "REMOTE_DATABASE_URL=${{ secrets.REMOTE_DATABASE_URL }}" >> .env
echo "NODEMAILER_PIN=${{ secrets.NODEMAILER_PIN }}" >> .env
echo "NODEMAILER_EMAIL=${{ secrets.NODEMAILER_EMAIL }}" >> .env
echo "NEXT_PUBLIC_BACKEND_SERVER=http://cleo.centralindia.cloudapp.azure.com:4000" >> .env
sudo docker compose down --rmi all --volumes || true
sudo docker compose pull
sudo docker compose up -d --no-build