Skip to content

Merge pull request #662 from hngprojects/production--update #55

Merge pull request #662 from hngprojects/production--update

Merge pull request #662 from hngprojects/production--update #55

Workflow file for this run

name: Dev Deployment
on:
workflow_dispatch:
push:
branches:
- dev
jobs:
build-and-push:
if: github.event.repository.fork == false
environment:
name: "dev"
url: ${{ vars.URL }}
name: Build for dev
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-dev.properties
run: |
echo "spring.profiles.active=dev" > src/main/resources/application.properties
echo "${{ secrets.TEST_APP_PROPERTIES }}" | base64 --decode > src/main/resources/application-dev.properties
- name: Run the Maven verify phase
run: mvn clean install -Dmaven.test.skip=true
- name: copy service file
run: |
cp .github/scripts/java_dev_app.service target/
# cp ~/flyway.conf target/
# cp .env target/
- name: copy file via ssh password
uses: appleboy/[email protected]
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
password: ${{ secrets.PASSWORD }}
source: "target/*"
target: /home/teamjava/hng_boilerplate_java_web
- 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 dev && \
# git stash && \
# git checkout dev && \
# git pull && \
# sudo cp .github/scripts/java_dev_app.service /etc/systemd/system/java_dev_app.service && \
# sudo systemctl daemon-reload && \
# sudo systemctl start java_dev_app.service && \
# exit"
# env:
# SSH_HOST: ${{ secrets.HOST }}
# SSH_USERNAME: ${{ secrets.USERNAME }}
# SSH_PASSWORD: ${{ secrets.PASSWORD }}
# - name: Verify Deployment
# run: |
# sshpass -p $SSH_PASSWORD ssh -o StrictHostKeyChecking=no $SSH_USERNAME@$SSH_HOST "\
# sleep 60 && \
# if sudo systemctl is-active --quiet java_dev_app.service; then \
# echo 'Deployment successful!'; \
# sudo systemctl stop java_dev_app.service && \
# echo 'Dev application stopped after being stable for 60 seconds'; \
# else \
# echo 'Deployment failed!'; \
# exit 1; \
# fi"
# env:
# SSH_HOST: ${{ secrets.HOST }}
# SSH_USERNAME: ${{ secrets.USERNAME }}
# SSH_PASSWORD: ${{ secrets.PASSWORD }}