✨ [Feature/room] implement create room #32
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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" |