#concourse-ciでよく使うコマンド(fly)
はじめに
concourse-ciで用意されているfly
コマンドを使ってパイプラインを操作する方法を纏めています。
構築の記事はこちらです。
環境
- Mac os x HighSierra
- fly 5.0.1
前準備
以下のコマンドとブラウザでログインする。
$ fly -t tutorial login -c http://localhost:8080
logging in to team 'main'
navigate to the following URL in your browser:
http://localhost:8080/login?fly_port=59005
or enter token manually:
target saved
tutorial
は任意のターゲット名を指定しています。
これ以降の作業は、上記でログインしていることが前提となります。
設定ファイル
以下の設定ファイルをベースにします。
dockerイメージを使用して、uname -a
を実行するだけの処理です。
tutorial_pipeline.yml
jobs:
- name: job-tutorial
plan:
- task: uname_show
config:
platform: linux
image_resource:
type: docker-image
source: {repository: busybox}
run:
path: sh
args:
- -c
- |
uname -a
各項目の説明はこちらにあります。
https://concourse-ci.org/jobs.html
登録の基本
以下のコマンドが基本となります。
$ fly -t tutorial set-pipeline --pipeline tutorial_pipeline --config tutorial_pipeline.yml
jobs:
job job-tutorial has been added:
+ name: job-tutorial
+ plan:
+ - task: uname_show
+ config:
+ platform: linux
+ image_resource:
+ type: docker-image
+ source:
+ repository: busybox
+ run:
+ path: sh
+ args:
+ - -c
+ - uname -a
apply configuration? [yN]: y
pipeline created!
you can view your pipeline here: http://localhost:8080/teams/main/pipelines/tutorial_pipeline
the pipeline is currently paused. to unpause, either:
- run the unpause-pipeline command
- click play next to the pipeline in the web ui
引数名 | 説明 |
---|---|
-t | ログイン時に決めたターゲット名を指定 |
set-pipeline | パイプラインを登録する時のコマンド名 |
--pipeline | パイプライン名を指定します。 |
--config | 設定ファイルのパスを指定します。 |
変数がある場合の登録
ログイン情報など設定ファイルに直接書き込む事が憚れる場合に、変数を設定して登録時に渡す方法があります。
下記サンプルは、変数に指定された文字をecho
する処理です。
jobs:
- name: job-var-tutorial
public: true
plan:
- task: echo_var_show
params:
VAR_HOGE: ((var_hoge))
config:
platform: linux
image_resource:
type: docker-image
source: {repository: busybox}
run:
path: sh
args:
- -c
- |
echo "${VAR_HOGE}"
$ fly -t tutorial set-pipeline --pipeline var_pipeline --config var_pipeline.yml \
--var "var_hoge=hogehoge"
引数名 | 説明 |
---|---|
--var | 変数名と値を指定します。複数指定できます。 |
更新方法
登録方法と同じコマンドを実行すれば更新されます。
$ fly -t tutorial set-pipeline --pipeline var_pipeline --config var_pipeline.yml \
--var "var_hoge=hogehoge"
jobs:
job job-var-tutorial has changed:
name: job-var-tutorial
public: true
plan:
- task: echo_var_show
config:
platform: linux
image_resource:
type: docker-image
source:
repository: busybox
run:
path: sh
args:
- -c
- - echo "${VAR_HOGE}"
+ - |-
+ echo "${VAR_HOGE}"
+ echo "${VAR_HOGE}"
params:
VAR_HOGE: hogehoge
apply configuration? [yN]: y
configuration updated
削除方法
下記コマンドを実行さすれば、削除されます。
$ fly -t tutorial destroy-pipeline --pipeline var_pipeline
!!! this will remove all data for pipeline `var_pipeline`
are you sure? [yN]: y
`var_pipeline` deleted
引数名 | 説明 |
---|---|
-t | ログイン時に決めたターゲット名を指定 |
destroy-pipeline | パイプラインを削除する時のコマンド名 |
--pipeline | パイプライン名を指定します。 |
##参考