CI/CD ツールはタスクランナーではない

会社では、gitlab を利用していて、 gitlab-ci で テストをしたりデプロイをしたりしています。

その gitlab-ci ですが、かなり柔軟な設定が行え、また webから 変数を設定して CIを新しく実行したり、スケジュール実行させたりできます。

変数が好きに設定できるということは、パラメータを指定してタスクを実行させる。というようなこともできてしまいます。

ですが、 あくまでも CI/CDのための機能です。パラメータについても文字列で渡すことしかできず、validateなんてできませんので、もしvalidateしようとすると、タスク実行時に行って、おかしかったら失敗させる。というようなことが必要になります。

ci タスクが走ってからjobが失敗することでパラメータが間違っていたことを知る。というのは体験としてよろしくありません。

なにより、 .gitlab-ci.yml が テストやデプロイのためのものとタスクを実行するためのものとまじってかなり見にくくなります。

トリッキーな記法でがんばると、jenkinsおじさんならぬgitlab-ci おじさんが爆誕してしまいます。

くれぐれも注意を。