일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- IntelliJ
- jsp
- laravel
- 요리
- javascript
- tool
- Oracle
- MySQL
- Design Patterns
- Gradle
- Git
- Spring Batch
- Web Server
- devops
- ubuntu
- JVM
- db
- java
- Spring Boot
- elasticsearch
- springboot
- php
- redis
- Spring
- linux
- AWS
- it
- jenkins
- ReactJS
- 맛집
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