-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: discovery service settings (#15) * feat: init project * feat: set discovery * feat: create Dockfile (#20) * feat: create Docker Hub push flow (#22) * feat: create Docker Hub push flow * docs : 도커허브에 이미지 푸쉬 전 JAR파일을 빌드하는 작업을 추가합니다. * docs : GitHubActions jobs내 문법을 수정합니다. * bug: update build script with right gradle-wrapper.jar (#24) * fix: add new gradle-wrapper.jar * fix: add build script with fixed working dir * refactor: update dockerhub push flow (#27) * fix: add multi platform (#39) * fix: remove additional commends (#97) * script: update GitHub workflow for Dockerhub push on discovery service * docs : ci-cd * docs : typo * docs : typo * ci-cd : typo * ci-cd : modify typo * ci-ci : modify typo * ci-cd : modify typo * ci-cd : modify typo * ci-cd : resolve permission * ci-cd : typo * ci-cd : dockerhub push script * ci-cd : typo * ci-cd : typo * ci-cid * refactor : typo * ci-cd : resolve permission
- Loading branch information
Showing
2 changed files
with
157 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
name: DiscoveryService CI/CD by jar | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'discovery/dev' | ||
|
||
jobs: | ||
build-and-push: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v2 | ||
|
||
- name: Cache Gradle dependencies | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | ||
restore-keys: | | ||
gradle- | ||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v2 | ||
with: | ||
java-version: '17' | ||
distribution: 'temurin' | ||
|
||
- name: Grant execute permission for gradlew | ||
run: chmod +x src/discovery-service/gradlew | ||
|
||
- name: 프로젝트 빌드 | ||
env: | ||
EUREKA_HOST: ${{ secrets.EUREKA_HOST }} | ||
EUREKA_DEFAULT_ZONE: ${{ secrets.EUREKA_DEFAULT_ZONE }} | ||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | ||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} | ||
|
||
AUTH_JWT_SECRET_KEY: ${{ secrets.AUTH_JWT_SECRET_KEY }} | ||
AUTH_MAIL_HOST: ${{ secrets.AUTH_MAIL_HOST }} | ||
AUTH_MAIL_PASSWORD: ${{ secrets.AUTH_MAIL_PASSWORD }} | ||
AUTH_MAIL_PORT: ${{ secrets.AUTH_MAIL_PORT }} | ||
AUTH_MAIL_USERNAME: ${{ secrets.AUTH_MAIL_USERNAME }} | ||
AUTH_REDIS_HOST: ${{ secrets.AUTH_REDIS_HOST }} | ||
AUTH_REDIS_PORT: ${{ secrets.AUTH_REDIS_PORT }} | ||
|
||
USER_DB_URI: ${{ secrets.USER_DB_URI }} | ||
USER_DB_USERNAME: ${{ secrets.USER_DB_USERNAME }} | ||
USER_DB_USER_DB_PASSWORD: ${{ secrets.USER_DB_USER_DB_PASSWORD }} | ||
|
||
SOCIAL_DB_URI: ${{ secrets.SOCIAL_DB_URI }} | ||
SOCIAL_DB_USERNAME: ${{ secrets.SOCIAL_DB_USERNAME }} | ||
SOCIAL_DB_PASSWORD: ${{ secrets.SOCIAL_DB_PASSWORD }} | ||
|
||
TIMELINE_REDIS_HOST: ${{ secrets.TIMELINE_REDIS_HOST }} | ||
TIMELINE_REDIS_PORT: ${{ secrets.TIMELINE_REDIS_PORT }} | ||
TIMELINE_REDIS_PASSWORD: ${{ secrets.TIMELINE_REDIS_PASSWORD }} | ||
|
||
NOTIFICATOIN_DB_URI: ${{ secrets.NOTIFICATOIN_DB_URI }} | ||
NOTIFICATOIN_DB_USERNAME: ${{ secrets.NOTIFICATOIN_DB_USERNAME }} | ||
NOTIFICATOIN_DB_USER_DB_PASSWORD: ${{ secrets.NOTIFICATOIN_DB_USER_DB_PASSWORD }} | ||
|
||
LIGHTSAIL_HOST: ${{ secrets.LIGHTSAIL_HOST }} | ||
LIGHTSAIL_KEY: ${{ secrets.LIGHTSAIL_KEY }} | ||
LIGHTSAIL_USERNAME: ${{ secrets.LIGHTSAIL_USERNAME }} | ||
|
||
PASSPORT_KEY: ${{ secrets.PASSPORT_KEY }} | ||
PASSPORT_ALGORITHM: ${{ secrets.PASSPORT_ALGORITHM }} | ||
|
||
KAFKA_SERVERS: ${{ secrets.KAFKA_SERVERS }} | ||
working-directory: ./src/discovery-service | ||
run: ./gradlew clean build -x test | ||
shell: bash | ||
|
||
- name: API 빌드 파일 복사 | ||
uses: appleboy/scp-action@master | ||
with: | ||
host: ${{ secrets.LIGHTSAIL_HOST }} | ||
username: ${{ secrets.LIGHTSAIL_USERNAME }} | ||
key: ${{ secrets.LIGHTSAIL_KEY }} | ||
source: "src/discovery-service/build/libs/easel-discovery-service-0.0.1-SNAPSHOT.jar" | ||
target: "/home/ubuntu/palette/discovery-service" | ||
|
||
- name: API LIGHTSAIL 인스턴스 접속 및 애플리케이션 실행 | ||
uses: appleboy/ssh-action@master | ||
with: | ||
host: ${{ secrets.LIGHTSAIL_HOST }} | ||
username: ${{ secrets.LIGHTSAIL_USERNAME }} | ||
key: ${{ secrets.LIGHTSAIL_KEY }} | ||
script: | | ||
cd /home/ubuntu/palette/discovery-service | ||
sudo su | ||
./stop.sh | ||
./operate.sh |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
name: DiscoveryService DockerHub Push | ||
|
||
on: | ||
push: | ||
branches: | ||
- 'discovery/dev' | ||
|
||
jobs: | ||
build-and-push: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@v2 | ||
|
||
- name: Cache Gradle dependencies | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.gradle/caches | ||
~/.gradle/wrapper | ||
key: gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | ||
restore-keys: | | ||
gradle- | ||
- name: Set up JDK 17 | ||
uses: actions/setup-java@v2 | ||
with: | ||
java-version: '17' | ||
distribution: 'temurin' | ||
|
||
- name: Grant execute permission for gradlew | ||
run: chmod +x src/discovery-service/gradlew | ||
|
||
- name: Build and Push Docker Image | ||
env: | ||
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} | ||
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} | ||
|
||
PASSPORT_KEY: ${{ secrets.PASSPORT_KEY }} | ||
PASSPORT_ALGORITHM: ${{ secrets.PASSPORT_ALGORITHM }} | ||
|
||
AUTH_MAIL_HOST: ${{ secrets.AUTH_MAIL_HOST }} | ||
AUTH_MAIL_ADDRESS: ${{ secrets.AUTH_MAIL_ADDRESS }} | ||
AUTH_MAIL_USERNAME: ${{ secrets.AUTH_MAIL_USERNAME }} | ||
AUTH_MAIL_PASSWORD: ${{ secrets.AUTH_MAIL_PASSWORD }} | ||
AUTH_MAIL_PORT: ${{ secrets.AUTH_MAIL_PORT }} | ||
|
||
AUTH_REDIS_HOST: ${{ secrets.AUTH_REDIS_HOST }} | ||
AUTH_REDIS_PORT: ${{ secrets.AUTH_REDIS_PORT }} | ||
|
||
AUTH_JWT_SECRET_KEY: ${{ secrets.AUTH_JWT_SECRET_KEY }} | ||
run: | | ||
cd src/discovery-service | ||
./gradlew clean build -x test | ||
docker run --privileged --rm tonistiigi/binfmt --install all | ||
docker buildx create --use | ||
docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD | ||
docker buildx build --platform=linux/amd64,linux/arm64 -t $DOCKER_USERNAME/discovery-service:latest . --push |