Java と Bitbucket Pipelines
このガイドでは、Maven または Gradle をビルド ツールとして使用し、Bitbucket Pipelines を使用して、Docker コンテナで Java ソフトウェア プロジェクトをビルドおよびテストする方法について説明します。
実際に動作するパイプラインを持つデモ リポジトリをインポートしたい場合、デモ用の java リポジトリをご参照ください。
手動でセットアップしたい場合、構成の大部分は Pipelines がビルドを定義するために使用する bitbucket-pipelines.yml
ファイル内で行います。
Maven プロジェクトのビルドとテスト
Docker で Maven のバージョンを指定する
Bitbucket Pipelines は、構成ファイルの最初に指定したイメージを使用し、すべてのビルドを Docker コンテナで実行します。Docker Hub にあるいずれかの公式 Maven Docker イメージを使用することで、Bitbucket Pipelines で簡単に Maven を使用できます。
For instance, you can use Maven 3.3.9 (current version as of writing) by specifying it at the beginning of your bitbucket-pipelines.yml
file.
image: maven:3.3.9
pipelines:
default:
- step:
script:
- mvn -version
You can check your bitbucket-pipelines.yml
file with our online validator.
Java および JDK バージョン
既定では、Maven イメージには Java JDK の最新の公式バージョンが含まれますが、特定の Maven バージョンを使用することで別のバージョンを指定することもできます。以下は、JDK 1.7 を搭載した Maven 3.2.5 の Docker イメージの使用例です。
image: maven:3.2.5-jdk-7
利用可能な Maven/JDK バージョンと対応する image タグの一覧については、https://hub.docker.com/r/library/maven/ をご参照ください。
Maven を使用したビルドとテストの実行
Once you have selected your Docker image, running tests is just including the appropriate Maven commands in your pipelines script
section. Below is an example.
image: maven:3.3.9
pipelines:
default:
- step:
script:
- mvn -B verify # -B batch mode makes Maven less verbose
Maven のプライベート リポジトリ
Maven のプライベート リポジトリにアクセスするには、Maven の既定の settings.xml
(Docker イメージの /usr/share/maven/conf/settings.xml
にあります) をオーバーライドする必要があります。
この例を使用する前に、MAVEN_USERNAME
および MAVEN_PASSWORD
の 2 つのセキュアな変数を設定して、これらの値を Pipelines 構成に安全に渡すことができるようにします。
bitbucket-pipelines.yml
image: maven:3.3.9
pipelines:
branches:
main:
- step:
script:
- bash configure-maven.sh
- mvn -B verify
configure-maven.sh
#!/bin/bash
sed -i~ "/<servers>/ a\
<server>\
<id>private-repo</id>\
<username>${MAVEN_USERNAME}</username>\
<password>${MAVEN_PASSWORD}</password>\
</server>" /usr/share/maven/conf/settings.xml
sed -i "/<profiles>/ a\
<profile>\
<id>private-repo</id>\
<activation>\
<activeByDefault>true</activeByDefault>\
</activation>\
<repositories>\
<repository>\
<id>private-repo</id>\
<url>https://example.com/path/to/maven/repo/</url>\
</repository>\
</repositories>\
<pluginRepositories>\
<pluginRepository>\
<id>private-repo</id>\
<url>https://example.com/path/to/maven/repo/</url>\
</pluginRepository>\
</pluginRepositories>\
</profile>" /usr/share/maven/conf/settings.xml
Maven の settings.xml のカスタマイズ
Making more advanced changes to the default settings.xml
with sed can be quite painful, so it may be easier to commit your own settings.xml to your Bitbucket repository. Then you can reference it using Maven's -s
flag.
image: maven:3.3.9
pipelines:
default:
- step:
script:
- mvn -s settings.xml # e.g. with settings.xml in the root of the project
Gradle プロジェクトのビルドとテスト
リポジトリに Gradle Wrapper を追加する
アトラシアン (および Gradle) では、Gradle プロジェクトをビルドする際に、Gradle Wrapper をリポジトリにコミットすることを推奨しています。
Gradle Wrapper は、次の 2 つを保証します。
プロジェクトをビルドするための、ビルド環境への Gradle の手動インストールは不要
プロジェクトは常に同じ Gradle バージョンでビルドされる
wrapper スクリプトは、リポジトリにコミットする前に実行可能にしておくことをおすすめします。
chmod +x gradlew
その後、wrapper を使用して Gradle プロジェクトをビルドできます。
bitbucket-pipelines.yml
image: openjdk:8
pipelines:
default:
- step:
script:
- bash ./gradlew build
Remember, you can check your bitbucket-pipelines.yml
file with our online validator.
この内容はお役に立ちましたか?