Kubernetesパイプライン
このチュートリアルは、単純なKubernetesパイプラインを作成して実行するのに役立ちます。詳細な使用方法については、パイプラインのドキュメントを参照してください。
ステップ1:認証する
まず、ブラウザでDroneサーバのURLに移動します。まだ認証されていない場合、DroneはログインするためにGitHubにリダイレクトします。
ログイン後、Droneダッシュボードにリダイレクトされます。Droneを初めて使用する場合、DroneがリポジトリリストをGitHubと同期している間、ダッシュボードは数秒間空になります。
ステップ2:リポジトリを有効にする
次に、リポジトリを検索して、[有効にする]ボタンをクリックします。有効化ボタンをクリックすると、リポジトリにウェブフックが追加され、コードをプッシュするたびにDroneに通知されます。有効にするには、リポジトリに対する管理者権限が必要であることに注意してください。
ステップ3:パイプラインを構成する
次に、gitリポジトリのルートに.drone.yml
ファイルを作成してパイプラインを構成する必要があります。このファイルでは、ウェブフックを受信するたびに実行される一連のステップを定義します。
kind: pipeline
type: kubernetes
name: default
steps:
- name: greeting
image: alpine
commands:
- echo hello
- echo world
この例で使用されている変数の概要は次のとおりです。
- type
type属性は、パイプラインのタイプを定義します。この例では、各パイプラインステップがポッド内で実行されるKubernetesパイプラインを定義します。Droneは、さまざまなタイプのパイプライン実行環境をサポートしています。
- name
name属性は、パイプラインの名前を定義します。プロジェクトに1つまたは複数のパイプラインを定義できます。
- steps
stepsセクションは、シリアルに実行されるパイプラインステップの配列を定義します。パイプラインのいずれかのステップが失敗した場合、パイプラインはすぐに終了します。- name
name属性は、パイプラインステップの名前を定義します。
- image
image属性は、シェルコマンドが実行されるコンテナイメージを定義します。プライベートレジストリを含む任意のレジストリから、パイプライン内の任意のイメージを使用できます。
- commands
commands属性は、エントリポイントとしてコンテナ内で実行されるシェルコマンドのリストを定義します。コマンドがゼロ以外の終了コードを返す場合、パイプラインステップは失敗します。
- name
構成オプションの完全なリストについては、パイプラインのドキュメントを参照してください。
その他の例
- パイプラインに複数のステップを追加できます。
kind: pipeline
type: kubernetes
name: greeting
steps:
- name: en
image: alpine
commands:
- echo hello world
- name: fr
image: alpine
commands:
- echo bonjour monde - ブランチまたはウェブフックイベントに基づいてパイプラインステップを制限できます。
kind: pipeline
type: kubernetes
name: greeting
steps:
- name: en
image: alpine
commands:
- echo hello world
- name: fr
image: alpine
commands:
- echo bonjour monde
when:
branch:
- develop - 複数のパイプラインを定義することもできます。
kind: pipeline
type: kubernetes
name: en
steps:
- name: greeting
image: alpine
commands:
- echo hello world
---
kind: pipeline
type: kubernetes
name: fr
steps:
- name: greeting
image: alpine
commands:
- echo bonjour monde - 任意のコンテナレジストリで任意のイメージを使用できます。
kind: pipeline
type: kubernetes
name: default
steps:
- name: test
image: golang:1.13
commands:
- go build
- go test -v
ステップ4:パイプラインを実行する
最後のステップは、 .drone.yml
をリポジトリにコミットし、変更をプッシュすることです。コードをプッシュすると、GitHubはウェブフックをDroneに送信し、Droneがパイプラインを実行します。