ステップ
パイプラインステップは、一連のシェルコマンドとして定義されます。コマンドは、gitリポジトリのルートディレクトリ内で実行されます。ワークスペースとも呼ばれるgitリポジトリのルートは、パイプラインのすべてのステップで共有されます。
構成例:
1 kind: pipeline
2 type: digitalocean
3 name: default
4
5 steps:
6 - name: backend
7 commands:
8 - go build
9 - go test
10
11 - name: frontend
12 commands:
13 - npm install
14 - npm test
コマンド
コマンドは、gitリポジトリのルートディレクトリ内で実行されます。ワークスペースとも呼ばれるgitリポジトリのルートは、パイプラインのすべてのステップで共有されます。これにより、ファイルアーティファクトをステップ間で保持できます。
5 steps:
6 - name: backend
8 commands:
8 - go build
9 - go test
上記のコマンドは、単純なシェルスクリプトに変換されます。上記の例のコマンドは、大まかに次のスクリプトに変換されます。
1 #!/bin/sh
2 set -e
3 set -x
4
5 go build
6 go test
終了コードは、ステップが成功したか失敗したかを判別するために使用されます。コマンドがゼロ以外の終了コードを返す場合、そのステップは失敗としてマークされます。パイプライン全体のステータスも失敗としてマークされ、残りのパイプラインステップはスキップされます(失敗時に実行するように明示的に構成されている場合を除く) 。
環境
環境セクションは、個々のパイプラインステップにスコープされた環境変数を定義する機能を提供します。
5 steps:
6 - name: backend
7 environment:
8 GOOS: linux
9 GOARCH: amd64
10 commands:
11 - go build
12 - go test
条件
whenセクションは、実行時にステップの実行を条件付きで制限する機能を提供します。以下の例では、ブランチごとにステップの実行を制限していますが、イベント、リファレンス、ステータスなどによって実行を制限できます。
5 steps:
6 - name: backend
7 commands:
8 - go build
9 - go test
10 when:
11 branch:
12 - master
ステータス条件を使用して、デフォルトのランタイム動作をオーバーライドし、パイプラインステータスが失敗した場合でも手順を実行します。
5 steps:
6 - name: cleanup
7 commands:
8 - docker system prune -f
9 when:
10 status:
11 - failure
12 - success
詳細については、条件の記事を参照してください。
失敗
失敗属性を使用すると、システムが個々のステップの失敗を処理する方法をカスタマイズできます。これは、パイプライン全体を失敗させることなくステップを失敗させる場合に役立ちます。
5 steps:
6 - name: backend
7 failure: ignore
8 commands:
9 - go build
10 - go test