Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 92 additions & 0 deletions .github/workflows/cd-develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Java CI with Gradle

on:
push:
branches: [ "develop" ]

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Set up JDK 17 (JDK 17 설정)
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '17'

- name: Create application.properties from git secret (application.properties 파일 생성)
run: |
mkdir -p default/src/main/resources
mkdir -p chat/src/main/resources
echo "$APPLICATION_DEFAULT" > default/src/main/resources/application.properties
echo "$APPLICATION_CHAT" > chat/src/main/resources/application.properties
env:
APPLICATION_DEFAULT: ${{ secrets.APPLICATION_DEFAULT }}
APPLICATION_CHAT: ${{ secrets.APPLICATION_CHAT }}

- name: Grant execute permission to Gradle (Gradle 실행 권한 부여)
run: |
chmod +x ./default/gradlew
chmod +x ./chat/gradlew

# - name: Detect Changes (변경된 파일 감지)
# id: changed-files
# run: |
# git fetch origin develop --depth=1
# CHANGED_FILES=$(git diff --name-only origin/develop HEAD)
#
# echo "Changed files: $CHANGED_FILES"
#
# if echo "$CHANGED_FILES" | grep -q '^default/'; then
# echo "DEFAULT_CHANGED=true" >> $GITHUB_ENV
# fi
#
# if echo "$CHANGED_FILES" | grep -q '^chat/'; then
# echo "CHAT_CHANGED=true" >> $GITHUB_ENV
# fi

- name: Build JAR (JAR 빌드)
run: |
./default/gradlew bootJar
./chat/gradlew bootJar

# CR_PAT: Container Registry - Personal Access Token
- name: GitHub Container Registry login (GitHub Container Registry 로그인)
run: |
export CR_PAT=${{ secrets.SOUNDLINK_TOKEN }}
echo $CR_PAT | docker login ghcr.io -u ${{ secrets.GIT_ID }} --password-stdin

- name: Docker build & push (Default)
run: |
TAG=$(git rev-parse --short HEAD)
DOCKER_IMAGE_DEFAULT=ghcr.io/${{ secrets.GIT_ID }}/soundlink_default:$TAG
docker build -t soundlink_default -f ./docker/default.Dockerfile .
docker tag soundlink_default $DOCKER_IMAGE_DEFAULT
docker push $DOCKER_IMAGE_DEFAULT

- name: Docker build & push (Chat)
run: |
TAG=$(git rev-parse --short HEAD)
DOCKER_IMAGE_CHAT=ghcr.io/${{ secrets.GIT_ID }}/soundlink_chat:$TAG
docker build -t soundlink_chat -f ./docker//chat.Dockerfile .
docker tag soundlink_chat $DOCKER_IMAGE_CHAT
docker push $DOCKER_IMAGE_CHAT

- name: Deploy to Linux Server (리눅스 서버 배포)
uses: appleboy/[email protected]
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.PRIVATE_KEY }}
port: ${{ secrets.PORT }}
script: |
cd /home/ubuntu/docker
sudo docker-compose down spring
sudo docker-compose pull spring
sudo docker-compose up -d spring
sudo docker-compose down spring_chat
sudo docker-compose pull spring_chat
sudo docker-compose up -d spring_chat
12 changes: 9 additions & 3 deletions .github/workflows/test.yml → .github/workflows/ci-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,13 @@ jobs:
chmod +x ./default/gradlew
chmod +x ./chat/gradlew

- name: Run tests (테스트 실행)
- name: Run tests - default server (디폴트 서버 테스트 실행)
run: |
./default/gradlew test
./chat/gradlew test
cd default
./gradlew test
cd ..

- name: Run tests - chat server (채팅 서버 테스트 실행)
run: |
cd chat
./gradlew test
54 changes: 0 additions & 54 deletions .github/workflows/gradle.yml

This file was deleted.

54 changes: 0 additions & 54 deletions .github/workflows/main.yml

This file was deleted.

6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,10 @@ out/
.vscode/

### yml & properties ###
*.yml
*.properties
chat/**/*.yml
default/**/*.yml
chat/src/main/resources/application.properties
default/src/main/resources/application.properties

### 폴더 추가
default/src/main/generated
Expand Down
File renamed without changes.
Binary file modified chat/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions chat/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
5 changes: 2 additions & 3 deletions chat/gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down Expand Up @@ -206,7 +205,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
Expand Down
Loading