Dartパイプラインの例
このガイドでは、Dartプロジェクトの継続的インテグレーションパイプラインの構成について説明します。Droneを初めて使用する場合は、最初にチュートリアルとビルド構成ガイドをお読みください。
ビルドとテスト
以下の例は、pub get
および pub run test
コマンドを実行するパイプラインを示します。これらのコマンドは、実行時にDockerHubからダウンロードされたdart Dockerコンテナ内で実行されます。
kind: pipeline
name: default
steps:
- name: test
image: google/dart
commands:
- pub get
- pub run test
パイプラインでは、任意のDockerレジストリから任意のDockerイメージを使用できることに注意してください。Dartの公式画像を使用することも、自分で持参することもできます。
複数のバージョンをテストする
Droneのマルチパイプライン機能を使用して、複数のバージョンのDartに対して同時にテストすることができます。これは、他の継続的インテグレーションシステムに見られるマトリックス機能と同等です。
---
kind: pipeline
name: dart2
steps:
- name: test
image: google/dart:2
commands:
- pub get
- pub run test
---
kind: pipeline
name: dart1
steps:
- name: test
image: google/dart:1
commands:
- pub get
- pub run test
...
この構文が冗長すぎる場合は、jsonnetを使用することをお勧めします。 jsonnetに慣れていない場合は、ガイドをお読みください。
local Pipeline(name, image) = {
kind: "pipeline",
name: name,
steps: [
{
name: "test",
image: image,
commands: [
"pub get",
"pub run test"
]
}
]
};
[
Pipeline("dart1", "dart:2"),
Pipeline("dart2", "dart:1"),
]