あらしおブログ

技術ネタ中心の粗削りブログ

Jenkins パイプラインの stash/unstash を使ってノード間でファイルを転送する

Jenkins のパイプラインで stash/unstash を使って異なるノード間でファイルを転送する方法を紹介します。 英語の stash には、「しまう」という意味があるようです。一時的にファイルをどこかにしまって(stash)、 必要になったら取り出す(unstash) という操…

Jenkins を使って Gradle プロジェクトのテストを複数ノードで並列実行する方法

Parallel Test Executor Plugin は テストを分割し複数のノードで並列実行することができる Jenkins のプラグインです。 公式のチュートリアル には Maven プロジェクトでの使用例がありますが、Gradle での使い方が見つからなかったので私が試した方法を紹…

Jenkinsfile を書く前に知っておくべきこと (機能制約編)

前回は Jenkinsfile を書く上で知っておくべきセキュリティ上の制約について紹介しました。 arasio.hatenablog.com 今回は、機能上の制約を書きたいと思います。 ここで言う機能上の制約とは、Jenkins がジョブの一時停止/再開機能を実現するために、代償と…

Jenkinsfile を書く前に知っておくべきこと (セキュリティ制約編)

Jenkins のパイプラインスクリプト(Jenkinsfile)は groovy ベースですが、 セキュリティや機能上の理由から様々な制約があります。 特別複雑な処理に制約があるというわけでもなく、groovy なら誰もが使いたくなるリストやマップのクロージャ処理が使えなか…

寄生獣が好きな人のための Kindle Unlimited で読めるおすすめ漫画

根拠は何もないですが寄生獣が好きな方におすすめしたい、Kindle Unlimited で読める漫画を紹介します。 なんというか私の好みを晒しているだけですねw 国民クイズ (上・下) 国民クイズ 上作者: 杉元伶一,加藤伸吉出版社/メーカー: 太田出版発売日: 2013/11…

Jenkins のパイプラインでマスターで実行するタスクを node ブロックで囲む意味

Jenkins のパイプラインスクリプトはマスターで処理されます。 また、各ノードで実行するタスクは node ブロックで囲んで表現します。 パイプラインスクリプトがそもそもマスターで処理されるのであれば マスターで実行したいタスクがあるとき、わざわざ nod…

Jenkins のパイプラインでは従来のプラグインは使えない

Jenkins 2 のパイプラインを使い始めました。 いろいろ試してみて私が一番驚いたのは、これまでのプラグインはどうやら基本的に使えないということです。 この記事は下のような方を対象にしています。 Jenkins 1.x で簡単なジョブ設計の経験がある パイプラ…

Docker コンテナ起動時にエラー System error: write /sys/fs/cgroup/devices/...: no such device がでたときの対処法

CentOS 7 + Docker 1.9 で以下のようなエラーがでて、コンテナがたまに起動できなくなることがありました。 そのときの対処法をまとめておきます。 Error response from daemon: Cannot start container 479acdbe53fc117178f9797bce1eaf3a4c3b68021f22df2f3e…

Bitnami Redmine の MySQL がクラッシュしたときのデータ復旧方法

Bitnami Redmine の MySQL でデータ破損などでクラッシュして、MySQL が起動できなった場合のデータ復旧手順です。 以下で /path/to/redmine は、Bitnami Redmine のインストール先に読み替えてください。 1. Bitnami Redmine を停止 sudo service bitnami-r…

Jenkins 2 にしたら Parameterized Trigger Plugin が動かなくなった

Jenkins 1.62 から Jenkins 2.23 にアップデートしてみました。 既存のジョブで動作確認したところ、 Parameterized Trigger Plugin というプラグインで、上流プロジェクトから下流プロジェクトに パラメータを渡せなくなっていました。日本語の記事がなかな…