Skip to content

✨ [Feature/room] implement create room #32

✨ [Feature/room] implement create room

✨ [Feature/room] implement create room #32

Workflow file for this run

name: kok-CI (Build & Push for kok)
on:
pull_request:
branches:
- develop
- main
push:
branches:
- develop
- main
jobs:
build:
runs-on: ubuntu-latest
outputs:
IMAGE_TAG: ${{ steps.determine-tag.outputs.IMAGE_TAG }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Set up JDK 21
uses: actions/setup-java@v2
with:
distribution: 'zulu'
java-version: '21'
- name: Determine Image Tag (prod/dev)
id: determine-tag
run: |
if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then
BRANCH_NAME="$GITHUB_BASE_REF"
else
BRANCH_NAME="$GITHUB_REF_NAME"
fi
echo "🔍 현재 브랜치: $BRANCH_NAME"
if [[ "$BRANCH_NAME" == "main" ]]; then
echo "IMAGE_TAG=prod" | tee -a $GITHUB_ENV
echo "::set-output name=IMAGE_TAG::prod"
else
echo "IMAGE_TAG=dev" | tee -a $GITHUB_ENV
echo "::set-output name=IMAGE_TAG::dev"
fi
echo "✅ 현재 GITHUB_ENV 값:"
cat $GITHUB_ENV
- name: Build with Gradle (멀티모듈)
run: |
./gradlew clean build -x test
- name: Save Build Artifacts
uses: actions/upload-artifact@v4
with:
name: build-artifact
path: kok-api/build/libs/*.jar
docker:
runs-on: ubuntu-latest
needs: build
env:
IMAGE_TAG: ${{ needs.build.outputs.IMAGE_TAG }}
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Download Build Artifacts
uses: actions/download-artifact@v4
with:
name: build-artifact
path: kok-api/build/libs/
- name: Login to Docker Hub
uses: docker/#-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Build & Push Docker Image
run: |
echo "🏷 IMAGE_TAG 값 확인: '$IMAGE_TAG'"
if [[ -z "$IMAGE_TAG" ]]; then
echo "🚨 ERROR: IMAGE_TAG 값이 비어 있음!"
exit 1
fi
IMAGE_NAME="${{ secrets.DOCKERHUB_USERNAME }}/kok-${IMAGE_TAG}"
echo "🚀 Building Docker Image: $IMAGE_NAME:$GITHUB_SHA"
# Docker Build & Push
docker build -t $IMAGE_NAME:$GITHUB_SHA -f Dockerfile .
docker push $IMAGE_NAME:$GITHUB_SHA
- name: Notify Deployment Trigger
run: |
echo "🚀 Docker 이미지 생성 완료! Image: $IMAGE_NAME"