Static HTML Github Action Workflow
Static HTML Github Action Workflow
name: Simple Web Application Deployment
on:
push:
branches:
- master
jobs:
devdeploy:
name: Dev Env Deployment
runs-on: ubuntu-latest
steps:
- name: Checkout the Code
uses: actions/[email protected]
- name: Copy the Public Folder to Ubuntu
uses: marcodallasanta/[email protected]
with:
local: 'src/*'
remote: '/tmp/src/'
host: ${{secrets.AZURE_VM_IP}}
user: ${{secrets.AZURE_VM_USENAME}}
key: ${{secrets.SSH_KEY}}
ssh_options: -o StrictHostKeyChecking=no
pre_upload: sudo rm -rf /var/www/html/*
post_upload: sudo mv /tmp/src/* /var/www/html/
testing-application-health-check:
name: Application Health Check
runs-on: ubuntu-latest
needs: [devdeploy]
steps:
- name: Using Wget we will Download the File
run: wget -qO- ${{secrets.AZURE_VM_IP}}/index.html | grep -iq "github"
testing-network-health-check:
name: Network Health Check
runs-on: ubuntu-latest
needs: [devdeploy]
steps:
- name: Using NetCat we will Check the Port
run: nc -zv ${{secrets.AZURE_VM_IP}} 80
proddeploy:
name: Prod Env Deployment
runs-on: ubuntu-latest
needs: [testing-application-health-check, testing-network-health-check]
steps:
- name: Checkout the Code
uses: actions/[email protected]
- name: Copy the Public Folder to Ubuntu
uses: marcodallasanta/[email protected]
with:
local: 'src/*'
remote: '/tmp/src/'
host: ${{secrets.PROD_AZURE_SERVER_IP}}
user: ${{secrets.AZURE_VM_USENAME}}
key: ${{secrets.SSH_KEY}}
ssh_options: -o StrictHostKeyChecking=no
pre_upload: sudo rm -rf /var/www/html/*
post_upload: sudo mv /tmp/src/* /var/www/html/
# - name: Zip the Files
# run: |
# echo "Zip the Files"
# tar -cvzf website.tar.gz src
# - name: Method 1 - for index.html
# run: |
# echo "$SERVER_PRIVATE_KEY" > key.pem
# chmod 600 key.pem
# scp -i key.pem -o StrictHostKeyChecking=no website.tar.gz $SERVER_USER@$SERVER_HOST:/tmp/
# scp -i key.pem -o StrictHostKeyChecking=no movefiles.sh $SERVER_USER@$SERVER_HOST:/tmp/
# ssh -i key.pem -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_HOST 'chmod +x /tmp/movefiles.sh'
# ssh -i key.pem -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_HOST '/tmp/movefiles.sh'
# continue-on-error: true
# - name: Method 1 - for index.html
# run: |
# echo "$SERVER_PRIVATE_KEY" > key.pem
# chmod 600 key.pem
# scp -i key.pem -o StrictHostKeyChecking=no index.html $SERVER_USER@$SERVER_HOST:/tmp/
# ssh -i key.pem -o StrictHostKeyChecking=no $SERVER_USER@$SERVER_HOST "sudo mv /tmp/index.html /var/www/html/index.html"
# continue-on-error: true
# - name: Method 2 - for about.html
# run: |
# touch devapacheserver.pem
# echo "${{ secrets.SSH_KEY }}" >> devapacheserver.pem
# chmod 600 devapacheserver.pem
# scp -i devapacheserver.pem -o StrictHostKeyChecking=no about.html $SERVER_USER@$SERVER_HOST:/tmp/
# continue-on-error: trueSurge Deployment
Last updated