일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- jenkins
- laravel
- ReactJS
- JVM
- Design Patterns
- java
- jsp
- Oracle
- IntelliJ
- Gradle
- springboot
- linux
- Web Server
- javascript
- Spring
- it
- Git
- devops
- 요리
- db
- AWS
- redis
- ubuntu
- Spring Batch
- 맛집
- php
- MySQL
- tool
- Spring Boot
- elasticsearch
Archives
- Today
- Total
아무거나
[gradle] gradle을 이용한 통합 빌드 제공 본문
반응형
아래와 같이 vuejs + springboot + gradle 프로젝트가 존재할 경우 vuejs(=client) 의 파일들을 빌드할 때 gradle 스크립트를 통하여 gradle명령 하나로 한번에 빌드하는 기능을 만들었다. 아래는 프로젝트의 구조이다.
spring-boot-vuejs
├─┬ server → backend module with Spring Boot code
│ └── src
│ ├── main
│ └── resources
│ └── application.yml
├─┬ client → frontend module with Vue.js code
│ ├── src
│ ├── config
│ └── index.js → build path ( move: resources/templates/* )
└── build.gradle
위의 구조를 참고하여 gradle 통합 빌드 스크립트를 만들자.
https://github.com/srs/gradle-node-plugin (gradle node plugin을 사용)
[npm run build + gradle]
....
// Client Build Task
def clientPath = projectDir.toString() + '/../client'
def buildType = 'build'
task npmBuild(type: NpmTask) {
workingDir = file(clientPath)
args = ['run', buildType]
}
// Full Build
task fullBuild(type: Zip) {
def tasks = [npmBuild, clean, build]
for (int i = 0; i < tasks.size() - 1; i++) {
tasks[i + 1].mustRunAfter(tasks[i])
}
dependsOn(tasks)
}
....
빌드는 gradle fullBuild 로 사용하자.
반응형
'Java & Kotlin > Gradle & Maven' 카테고리의 다른 글
[maven] Centos Maven 설치 (0) | 2020.12.27 |
---|---|
Build 할 때 java.lang.NoClassDefFoundError: org/gradle/wrapper/GradleWrapperMain 에러 해결 (1) | 2020.11.05 |
gradle에서 ojdbc7 추가 안되는 현상 해결 (1) | 2019.08.19 |
build.gradle 간략 설명 (0) | 2019.08.19 |
[gradle] dependency추가해도 계속 안받아지는경우, 캐시 삭제 (0) | 2019.08.17 |
Comments