Skip to content

Update docker-image.yml #2

Update docker-image.yml

Update docker-image.yml #2

Workflow file for this run

name: Docker Image CI
on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up JDK 19
uses: actions/setup-java@v3
with:
java-version: '19'
distribution: 'temurin'
- name: Set up application.properites
run: echo "${{ secrets.APPLICATION_PROPERTIES }}" > ./src/main/resources/application.properties
- name: Set up Maven
uses: actions/setup-java@v3
with:
java-version: '19'
distribution: 'temurin'
cache: 'maven'
- name: Clean with Maven
run: mvn clean
- name: Install with Maven
run: mvn install
- name: Login to DockerHub
env:
DOCKER_HUB_USER_NAME: ${{secrets.DOCKER_USERNAME}}
DOCKER_HUB_USER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
run: echo $DOCKER_HUB_PASSWORD | docker login -u $DOCKER_HUB_USERNAME --password-stdin
- name: Build the Docker image
run: docker build -t ${{secrets.DOCKER_REPO }}
- name: Push Docker Image to Docker Repository
run: docker push ${{ secrets.DOCKER_REPO }}
- name: Deploy to EC2 Server
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.EC2_HOST}}
username : ec2-user
key : ${{secrets.EC2_SSH_PRIVATE_KEY}}
script: |
CONTAINER_ID=$(sudo docker ps -q --filter "publish=80-8080")
if [ ! -z "$CONTAINER_ID" ]; then
sudo docker stop $CONTAINER_ID
sudo docker rm $CONTAINER_ID
fi
sudo docker pull ${{secrets.DOCKER_REPO }}
sudo docker run -- name ${{ secrets.DOCKER_CONTAINER_NAME }} -d -p 8080:8080
sudo docker logs ${{secrets.DOCKER_CONTAINER_NAME}}