여러 Gradle "spring-boot" 플러그인 "bootRun" 작업을 병렬로 시작합니다.
Gradle을 사용하여 구축된 다중 프로젝트 Spring Boot 애플리케이션이 있습니다.제가 하려는 것은 다양한 것들을 실행하는 것입니다.subprojects
스프링 부트 사용bootRun
다음을 통해 일부 "애드혹" 테스트를 수행하는 명령줄의 작업gradle bootRun
하지만, 각 데몬은 순차적으로 시작하고 멈추는 것처럼 보입니다.모든 부트 데몬을 사용하여 병렬로 실행할 수 있는 방법이 있습니까?spring-boot
플러그인?
어떤 조언이든 매우 감사하겠습니다 :)
독립 프로젝트의 작업은 다음을 사용하여 병렬로 실행할 수 있습니다.--parallel
깃발
다중 프로젝트 빌드를 병렬로 실행하려면 사용자가 명령줄 스위치를 통해 프로젝트를 병렬로 실행할 것임을 선언해야 합니다.
--parallel
\\ Tells Gradle to execute decoupled projects in parallel. Gradle will attempt to determine the optimal number of executors to use.
--max-workers=4
\\ Tells Gradle to execute decoupled projects in parallel, using the specified number of workers. The default is the number of processors.
Gradle Daemon과 마찬가지로 사용자별 및 프로젝트별로 병렬 실행을 활성화/구성할 수 있어야 합니다.이 작업은 에서 설정된 빌드 환경 속성을 통해 수행할 수 있습니다.gradle.properties
:
org.gradle.parallel: When set to `true`, Gradle will execute with the parallel executer
org.gradle.workers.max: Specify the maximum number of workers to use for parallel execution. This property does not in itself enable parallel execution,
but the value will be used whether Gradle is executed with `--parallel` or `org.gradle.parallel=true`.
리소스 링크:
- https://docs.gradle.org/current/userguide/gradle_command_line.html
- https://docs.gradle.org/current/userguide/build_environment.html
전체 병렬 실행 예제는 다음과 같습니다. https://github.com/camiloribeiro/cucumber-gradle-parallel/blob/master/build.gradle#L50
병렬 실행은 어떻게 작동합니까?
먼저 Gradle에게 병렬 모드를 사용하라고 말해야 합니다.명령줄 인수(부록 D, Gradle 명령줄)를 사용하거나 빌드 환경을 구성할 수 있습니다(섹션 12.1, "gradle.properties를 통한 빌드 환경 구성").사용자가 특정 개수의 병렬 스레드를 제공하지 않는 한 Gradle은 사용 가능한 CPU 코어를 기준으로 올바른 개수를 선택하려고 시도합니다.모든 병렬 작업자는 작업을 실행하는 동안 지정된 프로젝트를 독점적으로 소유합니다.즉, 동일한 프로젝트의 두 작업이 병렬로 실행되지 않습니다.따라서 다중 프로젝트 빌드만 병렬 실행을 활용할 수 있습니다.작업 종속성은 완전히 지원되며 병렬 작업자가 먼저 업스트림 작업을 실행하기 시작합니다.순차 실행에서 알려진 분리된 작업의 알파벳 순서 스케줄링은 실제로 병렬 모드에서 작동하지 않습니다.순서 지정 문제를 방지하려면 작업 종속성이 올바르게 선언되었는지 확인해야 합니다.
리소스 링크: https://docs.gradle.org/current/userguide/multi_project_builds.html
버전 3.5부터 Gradle은 병렬 작업자 상태를 인쇄할 수 있습니다.
<===========--> 90% EXECUTING
> :backend-service:bootRun
> :frontend-service:bootRun
언급URL : https://stackoverflow.com/questions/23621723/launch-multiple-gradle-spring-boot-plugin-bootrun-tasks-in-parallel
'programing' 카테고리의 다른 글
git가 경로별로 하드/소프트 재설정을 수행할 수 없는 이유는 무엇입니까? (0) | 2023.06.23 |
---|---|
포함()을 여러 번 사용할 때 엔티티 프레임워크 코드가 느림 (0) | 2023.06.23 |
단일 Firebase Firestore 문서를 업데이트하는 방법 (0) | 2023.06.23 |
openxlsx 오류: 행과 콜의 길이가 같아야 합니다. (0) | 2023.06.23 |
Node/Express 응용 프로그램에서 MySQL 연결이 누출되는 이유는 무엇입니까? (0) | 2023.06.18 |