natural born minority
「自分の備忘録」かつ「良いノウハウではない」です。あしからず。
http://dev.classmethod.jp/tool/jenkins/jenkins-on-docker/
こちらを読んでいて、気付きがあったので、メモ代わりに書いておきます。
(パクリ記事…といえば身も蓋もないですが、感謝です)
Jenkinsを運用していると、 AsCode
したくなってくるのですが、その時に…
が最後の「出来ないピース」として残ります。
ジョブについては、 パイプラインスクリプト が出来て、だいぶ楽になった(ジョブを作るところはまだ残る)のですが、プラグインのインストールだけは「エエカンジの手段」を知りませんでした。
なので サーバの内側からHTTPでPluginインストール命令出すスクリプト とか自力で書いていたのですが、「うーん、いまいち」と思ってました。
で、上記サイトの記事読んで「公式が楽な手段用意しているやん!」というのを知ったので、中身見てみました。
記事を読むと 「Dockerイメージ内の /usr/local/bin/plugins.sh
に”プラグインID列挙したテキストファイル名”を引数として渡したらプラグインをインストール出来る」ようなので、そのスクリプトの github上の元ソース
を見てみることにしました。
https://github.com/jenkinsci/docker/blob/master/plugins.sh
$JENKINS_HOME
の確認を行った後、「既にインストールされているプラグイン群」を確認
/var/jenkins_home/plugins
を確認/var/jenkins_home
は「Docker起動時の$JENKINS_HOME」、
/var/jenkins_home/plugins
が無かった場合 jenkins.war
そのものから「デフォルトで入るPlugin」を調べるhttps://updates.jenkins.io
/usr/share/jenkins/ref/plugins
curl
を使っているなるほど、
なので、「汎用的に使えるスクリプト」ではなさそうですね。
本当は「使えるスクリプト見つけたぜ!」という記事にしたかったのですが、「Dockerでしか使えなそう」でしたので、「bashスクリプトの解説」だけの記事になりました。
しかし、「公式も curl
とかでネットから取ってきて内部ディレクトリ弄う感じの管理している」ということがわかったので、それをヒントにAsCode
のアイディア元にできそうです。
…いや、「DockerイメージでJenkins動かせ」「そのDockerfileをメンテせえよ」てことですねw
blog comments powered by Disqus