Bitbucket Cloud の使用を開始する
Bitbucket Cloud を初めてお使いですか? 新規ユーザー用のガイドをご利用ください。
このガイドでは、Maven または Gradle をビルド ツールとして使用し、Bitbucket Pipelines を使用して、Docker コンテナで Java ソフトウェア プロジェクトをビルドおよびテストする方法について説明します。
実際に動作するパイプラインを持つデモ リポジトリをインポートしたい場合、デモ用の java リポジトリをご参照ください。
手動でセットアップしたい場合、構成の大部分は Pipelines がビルドを定義するために使用する bitbucket-pipelines.yml ファイル内で行います。
Bitbucket Pipelines は、構成ファイルの最初に指定したイメージを使用し、すべてのビルドを Docker コンテナで実行します。Docker Hub にあるいずれかの公式 Maven Docker イメージを使用することで、Bitbucket Pipelines で簡単に Maven を使用できます。
たとえば Maven 3.3.9 (この記事の執筆時点での最新バージョン) を bitbucket-pipelines.yml ファイルの先頭で指定して使用できます。
1
2
3
4
5
6
image: maven:3.3.9
pipelines:
default:
- step:
script:
- mvn -version
オンライン バリデーターを使用して bitbucket-pipelines.yml ファイルをチェックすることができます。
既定では、Maven イメージには Java JDK の最新の公式バージョンが含まれますが、特定の Maven バージョンを使用することで別のバージョンを指定することもできます。以下は、JDK 1.7 を搭載した Maven 3.2.5 の Docker イメージの使用例です。
1
image: maven:3.2.5-jdk-7
利用可能な Maven/JDK バージョンと対応する image タグの一覧については、https://hub.docker.com/r/library/maven/ をご参照ください。
Docker イメージを選択したら、Pipelines スクリプトに適切な Maven コマンドを含めるだけでテストを実行できます。例:
1
2
3
4
5
6
image: maven:3.3.9
pipelines:
default:
- step:
script:
- mvn -B verify # -B batch mode makes Maven less verbose
Maven のプライベート リポジトリにアクセスするには、Maven の既定の settings.xml (Docker イメージの /usr/share/maven/conf/settings.xml にあります) をオーバーライドする必要があります。
この例を使用する前に、MAVEN_USERNAME および MAVEN_PASSWORD の 2 つのセキュアな環境変数を設定して、これらの値を Pipelines 構成に安全に渡すことができるようにします。
bitbucket-pipelines.yml
1
2
3
4
5
6
7
8
9
image: maven:3.3.9
pipelines:
branches:
main:
- step:
script:
- bash configure-maven.sh
- mvn -B verify
configure-maven.sh
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
#!/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
sed を使用して既定の settings.xml にさらに高度な変更を加えることは非常に難しいため、独自の settings.xml を Bitbucket リポジトリにコミットすることをおすすめします。その後、Maven の -s フラグを使用してそれを参照できます。
1
2
3
4
5
6
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 プロジェクトをビルドする際に、Gradle Wrapper をリポジトリにコミットすることを推奨しています。
Gradle Wrapper は、次の 2 つを保証します。
プロジェクトをビルドするための、ビルド環境への Gradle の手動インストールは不要
プロジェクトは常に同じ Gradle バージョンでビルドされる
wrapper スクリプトは、リポジトリにコミットする前に実行可能にしておくことをおすすめします。
1
chmod +x gradlew
その後、wrapper を使用して Gradle プロジェクトをビルドできます。
bitbucket-pipelines.yml
1
2
3
4
5
6
image: openjdk:8
pipelines:
default:
- step:
script:
- bash ./gradlew build
アトラシアンのオンライン バリデーターでご使用の bitbucket-pipelines.yml ファイルをチェックすることができます。
この内容はお役に立ちましたか?