-
Notifications
You must be signed in to change notification settings - Fork 0
Feat/#1 CI/CD 구축 및 Netflix Eureka 서버 설정 #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 12 commits
410fc11
98a137b
21efd39
6692f52
7ee3ee8
ef37f7c
a7ee4ff
c18218c
ab22b42
aabe1d5
709aea8
84c1787
830c912
bcab31e
fca3ad4
8b3bab0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| name: discovery-service dev CD 파이프라인 | ||
|
|
||
| on: | ||
| workflow_run: | ||
| workflows: ["discovery-service CI pipeline"] | ||
| types: | ||
| - completed | ||
|
|
||
| jobs: | ||
| deploy: | ||
| runs-on: ubuntu-latest | ||
| environment: dev | ||
| permissions: | ||
| contents: read | ||
|
|
||
| steps: | ||
| - name: Docker 이미지 dev 서버 배포 | ||
| uses: appleboy/ssh-action@master | ||
| with: | ||
| host: ${{secrets.DEV_HOST}} | ||
| username: ${{secrets.DEV_USERNAME}} | ||
| key: ${{secrets.DEV_KEY}} | ||
| script: | | ||
| cd /home/ubuntu | ||
| docker rm -f discovery-service-dev || true | ||
| docker compose pull discovery-service-dev | ||
| docker compose up -d --no-deps --force-recreate --pull always discovery-service-dev | ||
| docker image prune -f | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| name: discovery-service prod CD 파이프라인 | ||
|
|
||
| on: | ||
| workflow_run: | ||
| workflows: ["discovery-service CI pipeline"] | ||
| types: | ||
| - completed | ||
|
|
||
| jobs: | ||
| deploy: | ||
| runs-on: ubuntu-latest | ||
| environment: dev | ||
1winhyun marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| steps: | ||
| - name: Docker 이미지 dev 서버 배포 | ||
1winhyun marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| uses: appleboy/ssh-action@master | ||
| with: | ||
| host: ${{secrets.PROD_HOST}} | ||
| username: ${{secrets.PROD_USERNAME}} | ||
| key: ${{secrets.PROD_KEY}} | ||
| script: | | ||
| cd /home/ubuntu | ||
| docker rm -f discovery-service-prod || true | ||
| docker compose pull discovery-service-prod | ||
| docker compose up -d --no-deps --force-recreate --pull always discovery-service-prod | ||
| docker image prune -f | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,46 @@ | ||
| name: discovery-service CI pipeline | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - dev | ||
| pull_request: | ||
| branches: | ||
| - dev | ||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
| environment: production | ||
|
|
||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: jdk 설정 | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| distribution: 'temurin' | ||
| java-version: '21' | ||
| cache: 'gradle' | ||
|
|
||
| - name: Gradle Wrapper 권한 부여 | ||
| run: chmod +x gradlew | ||
|
|
||
| - name: gradle 빌드 | ||
| run: ./gradlew clean build | ||
|
|
||
| - name: 도커 로그인 | ||
| uses: docker/login-action@v3 | ||
| with: | ||
| username: ${{ secrets.DOCKER_USERNAME }} | ||
| password: ${{ secrets.DOCKER_ACCESS_TOKEN }} | ||
|
|
||
| - name: 이미지 빌드 및 푸시 | ||
| uses: docker/build-push-action@v5 | ||
| with: | ||
| context: . | ||
| file: ./Dockerfile | ||
| tags: ${{ secrets.DOCKER_USERNAME }}/unionmate-discovery-service:latest | ||
| push: true |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| FROM openjdk:21-jdk | ||
|
|
||
| COPY build/libs/*SNAPSHOT.jar app.jar | ||
|
|
||
| ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} -Dspring.profiles.active=${PROFILE} -jar /app.jar"] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| server: | ||
| port: 8761 | ||
|
|
||
| spring: | ||
| application: | ||
| name: discovery-service-dev | ||
|
|
||
| eureka: | ||
| client: | ||
| register-with-eureka: false | ||
| fetch-registry: false | ||
|
|
||
| server: | ||
| wait-time-in-ms-when-sync-empty: 0 # 초기 레지스트리 정보가 비어 있어도 지연 없이 즉시 서버 시작 | ||
| response-cache-update-interval-ms: 30000 # 클라이언트에게 제공할 서비스 목록 캐시를 30초마다 갱신 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| server: | ||
| port: 8761 | ||
|
|
||
| spring: | ||
| application: | ||
| name: discovery-service | ||
|
|
||
| eureka: | ||
| client: | ||
| register-with-eureka: false | ||
| fetch-registry: false | ||
|
|
||
| server: | ||
| wait-time-in-ms-when-sync-empty: 0 # ?? ????? ??? ?? ??? ?? ?? ?? ?? ?? | ||
| response-cache-update-interval-ms: 30000 # ??????? ??? ??? ?? ??? 30??? ?? | ||
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| server: | ||
| port: 8761 | ||
|
|
||
| spring: | ||
| application: | ||
| name: discovery-service-prod | ||
|
|
||
| eureka: | ||
| client: | ||
| register-with-eureka: false | ||
| fetch-registry: false | ||
|
|
||
| server: | ||
| wait-time-in-ms-when-sync-empty: 0 # 초기 레지스트리 정보가 비어 있어도 지연 없이 즉시 서버 시작 | ||
| response-cache-update-interval-ms: 30000 # 클라이언트에게 제공할 서비스 목록 캐시를 30초마다 갱신 |
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| spring: | ||
| application: | ||
| name: discovery-service-test | ||
|
|
||
| eureka: | ||
| client: | ||
| register-with-eureka: false | ||
| fetch-registry: false |
Uh oh!
There was an error while loading. Please reload this page.