Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
35c4bfa
chore(project): 스프링 초기 설정(#66)
seung-gyu-kim Apr 28, 2025
1e8873d
Create gradle.yml
joohyun1996 Apr 30, 2025
bc21194
Update gradle.yml
joohyun1996 Apr 30, 2025
1f833dd
Update gradle.yml
joohyun1996 Apr 30, 2025
a81f4ac
Update gradle.yml
joohyun1996 Apr 30, 2025
f628eca
Update gradle.yml
joohyun1996 Apr 30, 2025
d8589aa
Create appspec.yml
joohyun1996 Apr 30, 2025
1348cd7
chore(project): Backend CI/CD 설정(#64)
joohyun1996 Apr 30, 2025
16eb743
chore(project): 백엔드 CI/CD 설정(#64)
joohyun1996 Apr 30, 2025
e3aa033
chore(project): Backend CI/CD 설정(#64)
joohyun1996 Apr 30, 2025
37a4eb8
chore(project): DockerCompose.yml 생성(#64)
joohyun1996 Apr 30, 2025
1a1618e
update(project): appspec.yml 폴더 지정 위치 변경(#64)
joohyun1996 Apr 30, 2025
1017455
Update gradle.yml
joohyun1996 Apr 30, 2025
46cac19
Update gradle.yml
joohyun1996 Apr 30, 2025
31b4dd7
Update gradle.yml
joohyun1996 Apr 30, 2025
f5b1fb1
Update gradle.yml
joohyun1996 Apr 30, 2025
c967523
chore(project): github actions 설정 (gradle-wrapper) 생성(#64)
joohyun1996 Apr 30, 2025
d321012
gradle-wrapper 강제로 추가(#64)
joohyun1996 Apr 30, 2025
fb39899
Update gradle.yml
joohyun1996 May 1, 2025
bf53f5a
Update gradle.yml
joohyun1996 May 1, 2025
9770216
Update gradle.yml
joohyun1996 May 1, 2025
426c3e9
Update gradle.yml
joohyun1996 May 1, 2025
2a4745e
Update gradle.yml
joohyun1996 May 1, 2025
efe99b3
Update deploy.sh
joohyun1996 May 1, 2025
78d8a68
Update gradle.yml
joohyun1996 May 1, 2025
83fe858
chore(cicd): CI/CD 적용
seung-gyu-kim May 2, 2025
48903a6
chore(cicd): CI/CD 적용
seung-gyu-kim May 2, 2025
d6fb3d3
chore(cicd): CI/CD 적용(#64)
seung-gyu-kim May 2, 2025
14959b5
chore(cicd): CI/CD 적용(#64)
seung-gyu-kim May 2, 2025
e0ac1a8
chore(cicd): CI/CD 적용(#64)
seung-gyu-kim May 2, 2025
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
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/gradlew text eol=lf
*.bat text eol=crlf
*.jar binary
75 changes: 75 additions & 0 deletions .github/workflows/dev-server-cicd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: DEV SERVER CI/CD
on:
push:
branches:
- develop
workflow_dispatch:

jobs:
backend-CI:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: "21"
distribution: "corretto"

- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: Build Gradle
run: |
mkdir -p src/main/resources/
echo ${{ secrets.APPLICATION_DEV_YML }} | base64 -d > src/main/resources/application-dev.yml
chmod +x gradlew
./gradlew build
shell: bash

- name: Configure AWS credentials
if: ${{ github.ref == 'refs/heads/develop'}}
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Build and push image to Amazon ECR
if: ${{ github.ref == 'refs/heads/develop' }}
env:
REGISTRY: 825773631552.dkr.ecr.ap-northeast-2.amazonaws.com
REPOSITORY: undabang/dev-server-repository
IMAGE_TAG: latest
run: |
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin $REGISTRY
cp build/libs/*.jar deploy-dev/
cd deploy-dev
docker build -t $REPOSITORY .
rm *.jar
docker tag $REPOSITORY:$IMAGE_TAG $REGISTRY/$REPOSITORY:$IMAGE_TAG
docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG

- name: Upload build file to S3 and trigger CodeDeploy
if: ${{ github.ref == 'refs/heads/develop' }}
run: |
mkdir -p deploy && cp -r deploy-dev/* deploy/
zip -r deploy.zip deploy

aws s3 cp deploy.zip s3://${{ secrets.AWS_S3_DEPLOY_DEV_BUCKET_NAME }}/deploy.zip

aws deploy create-deployment \
--application-name ${{ secrets.AWS_CODEDEPLOY_DEV_APP_NAME }} \
--deployment-config-name CodeDeployDefault.AllAtOnce \
--deployment-group-name ${{ secrets.AWS_CODEDEPLOY_DEV_GROUP_NAME }} \
--file-exists-behavior OVERWRITE \
--s3-location bucket=${{ secrets.AWS_S3_DEPLOY_DEV_BUCKET_NAME }},bundleType=zip,key=deploy.zip
75 changes: 75 additions & 0 deletions .github/workflows/prod-server-cicd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: PROD SEVER CI/CD
on:
push:
branches:
- main
workflow_dispatch:

jobs:
backend-CI:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: "21"
distribution: "corretto"

- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: Build Gradle
run: |
mkdir -p src/main/resources/
echo ${{ secrets.APPLICATION_PROD_YML }} | base64 -d > src/main/resources/application-prod.yml
chmod +x gradlew
./gradlew build
shell: bash

- name: Configure AWS credentials
if: ${{ github.ref == 'refs/heads/main' }}
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}

- name: Build and push image to Amazon ECR
if: ${{ github.ref == 'refs/heads/main' }}
env:
REGISTRY: 825773631552.dkr.ecr.ap-northeast-2.amazonaws.com
REPOSITORY: undabang/prod-server-repository
IMAGE_TAG: latest
run: |
aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin $REGISTRY
cp build/libs/*.jar deploy-prod/
cd deploy-prod
docker build -t $REPOSITORY .
rm *.jar
docker tag $REPOSITORY:$IMAGE_TAG $REGISTRY/$REPOSITORY:$IMAGE_TAG
docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG

- name: Upload build file to S3 and trigger CodeDeploy
if: ${{ github.ref == 'refs/heads/main' }}
run: |
mkdir -p deploy && cp -r deploy-main/* deploy/
zip -r deploy.zip deploy

aws s3 cp deploy.zip s3://${{ secrets.AWS_S3_DEPLOY_PROD_BUCKET_NAME }}/deploy.zip

aws deploy create-deployment \
--application-name ${{ secrets.AWS_CODEDEPLOY_PROD_APP_NAME }} \
--deployment-config-name CodeDeployDefault.AllAtOnce \
--deployment-group-name ${{ secrets.AWS_CODEDEPLOY_PROD_GROUP_NAME }} \
--file-exists-behavior OVERWRITE \
--s3-location bucket=${{ secrets.AWS_S3_DEPLOY_PROD_BUCKET_NAME }},bundleType=zip,key=deploy.zip
Loading