Help us understand the problem. What is going on with this article?

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エラーなども発生するのでそっ閉じしました。

watawuwu
Rust、Scala、Golang、PHPでアプリ開発、GCPを活用したインフラ構築、ConcourseCIを使ったDevOps、Kubernetes!!
https://www.3bi.tech
zlab
技術で新しい世界へシフトする。
https://zlab.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away