Skip to content

Commit

Permalink
Update latest-prod.yaml
Browse files Browse the repository at this point in the history
  • Loading branch information
stephennwachukwu authored Aug 28, 2024
1 parent 3f2e0f1 commit 8d5d4ee
Showing 1 changed file with 60 additions and 0 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/latest-prod.yaml
Original file line number Diff line number Diff line change
@@ -1 +1,61 @@

name: Production Deployment

on:
workflow_dispatch:
push:
branches:
- main

jobs:
build-and-push:
if: github.event.repository.fork == false
environment:
name: "production"
url: ${{ vars.URL }}
name: Build for production
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup Java with maven
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
cache: maven

- name: Create application-prod.properties
run: |
echo "spring.profiles.active=prod" > src/main/resources/application.properties
echo "${{ secrets.APPLICATION_PROPERTIES }}" | base64 --decode > src/main/resources/application-prod.properties
- name: Run the Maven verify phase
run: mvn clean install -Dmaven.test.skip=true

- name: Add SSH Key to Known Hosts
run: |
mkdir -p ~/.ssh
ssh-keyscan $SSH_HOST >> ~/.ssh/known_hosts
env:
SSH_HOST: ${{ secrets.HOST }}

- name: SSH into Server and Execute Command
run: |
sshpass -p $SSH_PASSWORD ssh -o StrictHostKeyChecking=no $SSH_USERNAME@$SSH_HOST "\
cd ~/hng_boilerplate_java_web && \
git fetch origin main && \
git stash && \
git checkout main && \
git pull && \
sudo cp .github/scripts/java_prod_app.service /etc/systemd/system && \
mvn flyway:repair && \
mvn clean install -Dmaven.test.skip=true && \
sudo systemctl daemon-reload && \
sudo systemctl start java_prod_app.service && \
exit"
env:
SSH_HOST: ${{ secrets.HOST }}
SSH_USERNAME: ${{ secrets.USERNAME }}
SSH_PASSWORD: ${{ secrets.PASSWORD }}

0 comments on commit 8d5d4ee

Please sign in to comment.