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