Skip to content

Workflow file for this run

name: Development CI/CD Pipeline
on:
push:
branches:
- development
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: '1.20'
- name: Build
run: go build -v ./...
- name: Test
run: go test -v ./...
deploy:
runs-on: ubuntu-latest
needs: build
steps:
- name: Checkout Code
uses: actions/checkout@v2
- name: Deploy to Production Environment
env:
VPS_IP: ${{ secrets.VPS_IP }}
VPS_USER: ${{ secrets.VPS_USER }}
VPS_KEY: ${{ secrets.VPS_KEY }}
run: |
echo "$VPS_KEY" > vps_key.pem
chmod 600 vps_key.pem
ssh -o StrictHostKeyChecking=no -i vps_key.pem $VPS_USER@$VPS_IP "
cd /home/hmcroot/app/development/lms-be &&
git pull origin development &&
go mod tidy &&
go build -o main . &&
sudo systemctl restart lms-be-development"