Skip to content

Merge pull request #5 from softeerbootcamp4th/feature/4-infra-cicd #4

Merge pull request #5 from softeerbootcamp4th/feature/4-infra-cicd

Merge pull request #5 from softeerbootcamp4th/feature/4-infra-cicd #4

Workflow file for this run

# CI/CD workflow
name: CI/CD
on:
push:
branches: [ "dev" ]
pull_request:
branches: [ "dev" ]
permissions:
contents: read
jobs:
CI:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@ec92e829475ac0c2315ea8f9eced72db85bb337a # v3.0.0
# TODO: 추후 테스트코드 작성 후 테스트 실패 시 CI 불가능하도록 수정
- name: Build with Gradle
run: ./gradlew build -x test
- name: Docker Login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build Docker Image
run: docker build --platform linux/amd64 -t ${{ secrets.DOCKERHUB_USERNAME }}/orange .
- name: Push Docker Image
run: docker push ${{ secrets.DOCKERHUB_USERNAME }}/orange
CD:
if: github.event.pull_request.merged == true && github.ref == 'refs/heads/dev'
runs-on: self-hosted
needs: CI
steps:
- name: Remove Docker Container
run: sudo docker rm -f orange || true
- name: Run Updated Docker Container
run: sudo docker run -t --env-file ./.env -d --name orange -p 8080:8080 ${{ secrets.DOCKERHUB_USERNAME }}/orange