Bitbucket Pipelines - Java
개요
이 가이드에서는 Maven 또는 Gradle을 빌드 도구로 사용하여 Docker 컨테이너에서 Java 소프트웨어 프로젝트를 빌드하고 테스트하기 위해 Bitbucket Pipelines를 사용하는 방법을 보여줍니다.
Bitbucket Pipelines는 작성 시점에 계정 당 무료 50 분을 포함합니다. 작업 영역(Workspace)에서 Settings > Plan details를 클릭하여 해당 월의 계정 사용 시간을 확인할 수 있습니다
파이프라인을 직접 설정는 경우, 파이프라인이 빌드를 정의하는데 사용하는 bitbucket-pipelines.yml
파일에서 대부분을 구성하게 됩니다.
Maven 프로젝트 빌드 및 테스트
Docker로 Maven 버전 지정
Bitbucket Pipelines는 구성 파일의 시작 부분에 지정한 이미지를 사용하여 Docker 컨테이너의 모든 빌드를 실행합니다. Docker Hub 의 official Maven Docker images 중 하나를 사용하여 Bitbucket Pipelines와 함께 Maven을 쉽게 사용할 수 있습니다
예를 들어, bitbucket-pipelines.yml 파일의 시작 부분에 Maven:3.3.9
을 지정하여 사용할 수 있습니다.
image: maven:3.3.9
pipelines:
default:
- step:
script:
- mvn -version
online validator로 bitbucket-pipelines.yml 파일의 유효성을 확인할 수 있습니다.
Java 및 JDK 버전
기본적으로 Maven 이미지에는 Java JDK의 최신 버전이 포함되지만, 특정 Maven 버전을 사용하여 다른 버전을 지정할 수 있습니다. 다음은 JDK 1.7과 Maven 3.2.5로 구성 된 Docker 이미지를 사용하는 예제입니다.
image: maven:3.3.9
pipelines:
default:
- step:
script:
- mvn -B verify # -B batch mode makes Maven less verbose
사설 Maven 저장소
사설 Maven 저장소에 액세스하려면 Docker 이미지에 있는 /usr/share/maven/conf/settings.xml
의 Maven 기본 settings.xml
을 재정의해야합니다 .
이 예제를 사용하기 전에 MAVEN_USERNAME
및 MAVEN_PASSWOR
를 secure variables로구성하여, 파이프라인에 값을 안전하게 전달할 수 있습니다.
bitbucket-pipelines.yml
image: maven:3.3.9
pipelines:
branches:
master:
- step:
script:
- bash configure-maven.sh
- mvn -B verify
configure-maven.sh
Maven settings.xml 커스텀
sed를 사용하여 기본 settings.xml을 변경하는 것 보다 자신의 settings.xml을 Bitbucket 저장소에 커밋하는 것이 더 쉬울 수 있습니다. 그런 다음 Maven의 -s
플래그를 사용하여 참조 할 수 있습니다.
Gradle 프로젝트 빌드 및 테스트
저장소에 Gradle Wrapper 추가
Gradle 프로젝트를 빌드하는데 권장되는 방식은 Gradle Wrapper를 저장소에 커밋하는 것입니다.
Gradle Wrapper는 다음 두 가지를 보장합니다.
빌드 환경은 프로젝트를 빌드하기 위해 Gradle을 수동으로 설치할 필요가 없습니다.
프로젝트는 항상 동일한 Gradle 버전으로 빌드됩니다.
저장소에 커밋하기 전에 Wrapper 스크립트를 실행 가능하게 만드는 것이 좋습니다.
그런 다음 Wrapper를 사용하여 Gradle 프로젝트를 빌드 할 수 있습니다.
bitbucket-pipelines.yml
online validator로 bitbucket-pipelines.yml 파일의 유효성을 확인할 수 있습니다.