Skip to content

Commit

Permalink
Merge pull request #131 from woowa-camp-2023-4/dev
Browse files Browse the repository at this point in the history
Main sync
  • Loading branch information
chanwooDev authored Aug 30, 2023
2 parents 4699fa1 + 87094b7 commit 7008d6f
Show file tree
Hide file tree
Showing 249 changed files with 10,214 additions and 54 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/dev-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle

name: Dev-Stage CD

on:
push:
branches: [ "dev" ]

permissions:
contents: read

jobs:
deploy:
runs-on: dev
steps:
- name: Clone code from repository
uses: actions/checkout@v3

- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'corretto'

- name: Build with Gradle
uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25
with:
arguments: asciidoctor

- name: Build with Gradle
uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25
with:
arguments: bootJar -x test

- name: Let script executable
run: chmod 755 scripts/run.sh

- name: Run java application
run: ./scripts/run.sh
env:
RUNNER_TRACKING_ID: ""
PAYMENT_SECRET_KEY: ${{secrets.PAYMENT_SECRET_KEY}}
DB_HOST: ${{secrets.DB_HOST}}
DB_PORT: ${{secrets.DB_PORT}}
DB_NAME: ${{secrets.DEV_DB_NAME}}
DB_USER: ${{secrets.DEV_USER}}
DB_PASSWORD: ${{secrets.DEV_PASSWORD}}
JWT_SECRET_KEY: ${{secrets.JWT_SECRET_KEY}}
ACTUATOR_PORT: ${{secrets.ACTUATOR_PORT}}
ACTUATOR_BASE_PATH: ${{secrets.ACTUATOR_BASE_PATH}}

50 changes: 50 additions & 0 deletions .github/workflows/prod-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle

name: Prod-Stage CD

on:
push:
branches: [ "main" ]

permissions:
contents: read

jobs:
deploy:
runs-on: prod
steps:
- name: Clone code from repository
uses: actions/checkout@v3

- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: '11'
distribution: 'corretto'

- name: Build with Gradle
uses: gradle/gradle-build-action@bd5760595778326ba7f1441bcf7e88b49de61a25
with:
arguments: bootJar

- name: Let script executable
run: chmod 755 scripts/run.sh

- name: Run java application
run: ./scripts/run.sh
env:
RUNNER_TRACKING_ID: ""
PAYMENT_SECRET_KEY: ${{secrets.PAYMENT_SECRET_KEY}}
DB_HOST: ${{secrets.DB_HOST}}
DB_PORT: ${{secrets.DB_PORT}}
DB_NAME: ${{secrets.PROD_DB_NAME}}
DB_USER: ${{secrets.PROD_USER}}
DB_PASSWORD: ${{secrets.PROD_PASSWORD}}
JWT_SECRET_KEY: ${{secrets.JWT_SECRET_KEY}}
ACTUATOR_PORT: ${{secrets.ACTUATOR_PORT}}
ACTUATOR_BASE_PATH: ${{secrets.ACTUATOR_BASE_PATH}}
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,10 @@ out/
### VS Code ###
.vscode/
db/

### QueryDsl
/src/main/generated/


### rest-docs
src/main/resources/static/docs/
72 changes: 70 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ plugins {
id 'java'
id 'org.springframework.boot' version '2.7.14'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
id "org.asciidoctor.jvm.convert" version "3.3.2"
}

group = 'com.woowa'
Expand All @@ -12,6 +13,7 @@ java {
}

configurations {
asciidoctorExt
compileOnly {
extendsFrom annotationProcessor
}
Expand All @@ -22,18 +24,84 @@ repositories {
}

dependencies {
asciidoctorExt 'org.springframework.restdocs:spring-restdocs-asciidoctor'
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-webflux'
implementation 'org.springframework.cloud:spring-cloud-starter-aws:2.2.6.RELEASE'
//monitoring
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-registry-prometheus'

implementation 'io.jsonwebtoken:jjwt:0.9.1'

//lombok
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'

// cache
implementation 'org.springframework.boot:spring-boot-starter-cache'
implementation 'com.github.ben-manes.caffeine:caffeine'

// querydsl
implementation "com.querydsl:querydsl-jpa"
implementation "com.querydsl:querydsl-core"
implementation "com.querydsl:querydsl-collections"

implementation 'org.ngrinder:ngrinder-groovy:3.5.8'

annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"

testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'io.rest-assured:rest-assured:4.4.0'
testImplementation 'com.squareup.okhttp3:mockwebserver'

runtimeOnly 'com.h2database:h2'
runtimeOnly 'com.mysql:mysql-connector-j'
}

tasks.named('test') {
useJUnitPlatform()
}

def generated = 'src/main/generated'

tasks.withType(JavaCompile) {
options.getGeneratedSourceOutputDirectory().set(file(generated))
}

sourceSets {
main.java.srcDirs += [generated]
}

clean {
delete file(generated)
}

ext {
snippetsDir = file('build/generated-snippets')
}

test {
outputs.dir snippetsDir
}

asciidoctor {
inputs.dir snippetsDir
configurations 'asciidoctorExt'
dependsOn test
}

bootJar {
dependsOn asciidoctor
dependsOn test

copy {
from asciidoctor.outputDir
into "src/main/resources/static/docs"
}
}
Loading

0 comments on commit 7008d6f

Please sign in to comment.