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