diff --git a/.github/workflows/CI-CD.yml b/.github/workflows/CI-CD.yml new file mode 100644 index 0000000..de01b6c --- /dev/null +++ b/.github/workflows/CI-CD.yml @@ -0,0 +1,84 @@ +name: CI-CD.yml +on: + pull_request: + branches: ["donguk"] + types: + - closed + +jobs: + build: + if: github.event.pull_request.merged == true + runs-on: ubuntu-latest + steps: + - name: ๐Ÿ“ข ๊นƒํ—ˆ๋ธŒ checkout + uses: actions/checkout@v3 + + - name: ๐Ÿ“ข GitHubAction JDK 17 ์„ค์น˜ + uses: actions/setup-java@v3 + with: + java-version: '17' + distribution: 'temurin' + + - name: ๐Ÿ“ข Gradle ์‹คํ–‰ ๊ถŒํ•œ ๋ถ€์—ฌ! + run: chmod +x gradlew + + - name: ๐Ÿ“ข Gradle ์บ์‹ฑ + uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: ๐Ÿ“ข GitIgnore ํŒŒ์ผ๋“ค ๋„ฃ์–ด์ฃผ๊ธฐ + env: + APPLICATION_PROPERTIES: ${{ secrets.APPLICATION_PROPERTIES}} + EMAIL_PROPERTIES: ${{secrets.EMAIL_PROPERTIES}} + run: | + rm -f src/main/resources/application.properties + rm -f src/main/resources/email.properties + echo "${{ secrets.APPLICATION_PROPERTIES }}" > src/main/resources/application.properties + echo "${{ secrets.EMAIL_PROPERTIES }}" > src/main/resources/email.properties + + - name: ๐Ÿ“ข Gradle ๋นŒ๋“œ(war ๋งŒ๋“ค๊ธฐ) + run: ./gradlew clean build + + - name: ๐Ÿ“ข Docker image ๋งŒ๋“ค๊ธฐ + run: docker build -t ${{ secrets.DOCKERHUB_USERNAME }}/zibi-backserver . + + - name: ๐Ÿ“ข DockerHub์— ๋กœ๊ทธ์ธ + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME}} + password: ${{ secrets.DOCKERHUB_PASSWORD}} + + - name: ๐Ÿ“ข DockerHub์— PUSH + run: docker push ${{ secrets.DOCKERHUB_USERNAME}}/zibi-backserver + + deploy: + runs-on: ubuntu-latest + needs: build + if: github.event.pull_request.merged == true + steps: + - name: ๐Ÿ“ขSSH๋กœ EC2์— ์ ‘์†ํ•ด๋ณด์ž + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.EC2_HOST}} + username: ${{ secrets.EC2_USERNAME}} + key: ${{ secrets.EC2_PRIVATE_KEY}} + script: | + echo "โœ… EC2 ์—ฐ๊ฒฐ ์„ฑ๊ณต!" + echo "โœ… Docker๋ฅผ ์‹คํ–‰ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด compose.yml ํŒŒ์ผ๋กœ ๊ณ ๊ณ ๋ " + cd ~/zibi + + echo "โœ… DockerHub ์—์„œ ์ด๋ฏธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ(pull)" + docker pull ${{ secrets.DOCKERHUB_USERNAME }}/zibi-backserver + + echo "โœ… ์ด์ œ DockeCompose ๋Œ๋ฆฌ์ž!!" + docker compose down + docker compose up -d + + echo "โœ… PortForwarding์„ 8080์œผ๋กœ ํ–ˆ์œผ๋‹ˆ๊น Public IP์˜ 8080ํฌํŠธ๋กœ ๊ฐ€์ž " + echo "โœ… ํฌํŠธ ๋ฒˆํ˜ธ ์ ๊ธฐ ์‹ซ์œผ๋ฉด composeํŒŒ์ผ์—์„œ 80->8080 ์œผ๋กœ ํฌํŠธํฌ์›Œ๋”ฉ ํ•˜๋ฉด ๋จ!!" \ No newline at end of file diff --git a/.idea/artifacts/Gradle___org_scoula___KB_BE_1_0_SNAPSHOT_war__exploded_.xml b/.idea/artifacts/Gradle___org_scoula___KB_BE_1_0_SNAPSHOT_war__exploded_.xml index bb8b9eb..57909e7 100644 --- a/.idea/artifacts/Gradle___org_scoula___KB_BE_1_0_SNAPSHOT_war__exploded_.xml +++ b/.idea/artifacts/Gradle___org_scoula___KB_BE_1_0_SNAPSHOT_war__exploded_.xml @@ -16,7 +16,7 @@ - + @@ -29,13 +29,13 @@ - + @@ -74,10 +74,10 @@ + - diff --git a/.idea/dataSources.local.xml b/.idea/dataSources.local.xml index af2ad67..dbc3e0f 100644 --- a/.idea/dataSources.local.xml +++ b/.idea/dataSources.local.xml @@ -1,9 +1,26 @@ - + + + #@ + ` + + + master_key + admin + + + + + + user_and_system_sources + + + master_key + user_and_system_sources \ No newline at end of file diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml index 4f76264..b906275 100644 --- a/.idea/dataSources.xml +++ b/.idea/dataSources.xml @@ -1,11 +1,24 @@ - + mysql.8 true com.mysql.cj.jdbc.Driver jdbc:mysql://3.34.64.47:3306 + + + + + + + $ProjectFileDir$ + + + mysql.8 + true + com.mysql.cj.jdbc.Driver + jdbc:mysql://localhost:3306 diff --git a/.idea/gradle.xml b/.idea/gradle.xml index f2c1963..065275f 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,6 +4,8 @@