LoginSignup
16
20

More than 5 years have passed since last update.

jenkinsを捨てrundeckに移行した話

Last updated at Posted at 2017-02-02

1. 背景

もともと自動化ツールとしてjenkinsを使用していました。
実際4年ほど前からjenkinsにはお世話になりっぱなしで良いツールでしたが
プラグイン管理が大変だったり、イケてない部分もあったので既に社内で実績のあるrundeckに移行する形になりました。
また同時にcronで管理していたbatchに関してもrundeckに移行しました。
詳細は後述ですが、対象が複数インスタンス存在してもnodeによる集約管理できるため、インスタンス毎のcron設定から開放されました。

2. メリット(移行理由)

実際に検証・導入した結果のメリットが下記になります。
※詳細は後述。

  1. 柔軟なジョブ作成が可能。
  2. 複数ノードを一括管理できる。
  3. GUIがリッチ

2.1 柔軟なジョブ作成が可能。

2.1.1 様々な種別のステップを登録可能

 
図1:ジョブ内のステップ登録
スクリーンショット 2017-02-02 午後7.13.44.png

上記がjob内で管理するstep一覧ですが、コマンド、スクリプト、jobのインポートなど自在に実行できます。
stepとはジョブ内で管理するタスクのようなもので、複数定義可能です。

2.1.2 ジョブ内で管理する多様なワークフロー

図1のタブにNodeStepsとWorkflowStepsとありますが、これはstep実行のフローに関する設定で、
下記のようにノードが複数存在する場合(web01,web02)ノード毎に実行するか、ステップごとに実行するかを選択できます。

NodeSteps
webサーバ01
 |_step1
 |_step2
 |_step3

webサーバ02
 |_step1
 |_step2
 |_step3
WorkflowSteps
step1
 |_webサーバ01
 |_webサーバ02

step2
 |_webサーバ01
 |_webサーバ02

step3
 |_webサーバ01
 |_webサーバ02
2.1.3 柔軟なハンドリング

また下記のようにステップAが成功したらステップBへ、失敗したらステップEへなどのハンドリングも可能です。

                                        |-- success---> stepC
           |----- success --> stepB ----|
stepA -----|                            |
           |                            |--  error ---> stepD
           |
           |-----  error ---> stepE     

2.2 複数ノードを一括管理できる。

スケジューラで複数インスタンスに対してbatch処理を実行する、
複数インスタンスに対してデプロイする、といった複数インスタンスに対してジョブを実行したいということは
多いですが図2で指定が可能です。

図2: Node指定
スクリーンショット 2017-02-02 午後7.41.31.png

2.3 GUIがリッチ

rundeckの使用は初めてでしたが、豊富なGUIのため特に何も調べることなくジョブの作成などが行えました。
もちろんCLIも用意されています。

図3はスケジューラに関する設定ですが、ポチポチと押しながらスムーズに設定が可能です。
また図4のように慣れ親しんだcronのような設定も可能です。

図3: スケジューラ周り設定
スクリーンショット 2017-02-02 午後7.46.30.png

図4: スケジューラcronによる設定
スクリーンショット 2017-02-02 午後7.46.45.png

終わりに

短いですが、以上がrundeckに移行した理由になります。
AWSとの親和性も高く組み合わせることで様々なことを自動化できそうです。
また新たな発見があれば記載したいと思います。

16
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
20