Edited at

Concourseのハマリポイント

More than 1 year has passed since last update.


概要

Concourseを四半期運用し、ある程度運用できるようになりました。

ここではパイプラインの設定と運用していてことについて説明します。

もしGKEで起動する場合にはこちらの「GKEでConcourseを使うには」も是非どうぞ。


環境


  • Kubernetes(GKE): v1.9.2

  • Concourse: v3.9.0

  • COS: v4.4.86+


ハマリポイント


resource-typeのtagを変更しても更新されない

==============================================================

v3.10で解決したみたいです

https://concourse-ci.org/download.html#v3100


Previously, tags on a resource type didn’t get no respect. They are now respected.


==============================================================

以下のresource-typeのタグをv1からv2に変更してもDockerイメージは更新されません。

これはタグが更新されてもdocker pullが実行されないためのようです。

resource_types:

- name: dummy
type: docker-image
source:
repository: watawuwu/test-dummy-resource
tag: v1
resources:
- name: dummy
type: dummy


Workaround

resource-type.nameの名前を変更しちゃいます。

resource.typeの修正も必要ですが、resource.nameの修正は不要なので変更箇所は少なくて済みます。

resource_types:

- name: dummy-v2
type: docker-image
source:
repository: watawuwu/test-dummy-resource
tag: v2

resources:
- name: dummy
type: dumm-v2


web hook使うresourceの定期checkを無効化できない

Resourceのcheck間隔(resource.check_every)はデフォルト値が1mです。

webhook_tokenを利用する場合は定期的なcheckは不要ですが、定期チェックを無効化する方法が見つかりません。


Workaround



  • resource.check_everyを長時間にする設定する


関連Issue


Jobのパラメーターを動的変更できない

task.config.paramsで定義した値を実行時ごとに変更できません。

ドキュメントにも以下のように記載されています。


they do not support interpolation


fly executeで実行するone-off形式のタスクでであれば、以下のように環境変数経由で変更することができます。

FOO=test fly execute


workerを再起動すると自動的に復帰できない

v3.6.0時に遭遇した事象だったのでv3.9.0で改めて動作確認をしました。

様々なエラーが出力され一時的にJobも失敗しますが、時間経過するとJobを実行できるようになりました。

Resourceで使われているdockerイメージの再取得などを実行しているようですが、VolumeのPermissionエラーなども発生するのでそっ閉じしました。