Skip to content

Test Deploy

Test Deploy #15

Workflow file for this run

name: Deploy To EC2
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 21
- name: Build with Gradle
run: |
chmod +x ./gradlew
./gradlew clean build -x test
- name: Docker Login
run: docker login -u ${{ secrets.DOCKERHUB_USERNAME }} -p ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build Docker image
run: docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/campushelper .
- name: Push Docker image
run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/campushelper:latest
- name: Deploy to EC2
uses: appleboy/[email protected]
with:
host: ${{ secrets.EC2_HOST }}
username: ${{ secrets.EC2_USERNAME }}
key: ${{ secrets.EC2_SSH_KEY }}
script_stop: true
script: |
docker stop campushelper || true
docker rm campushelper || true
docker pull ${{ secrets.DOCKERHUB_USERNAME }}/campushelper:latest
docker run -d --name campushelper -p 8080:8080 ${{ secrets.DOCKERHUB_USERNAME }}/campushelper:latest