やること
- コンテナ起動
- プロジェクト / ジョブの作成
- Slack通知設定
環境
MacOS Catalina 10.15.4
Docker Desktop 2.3.0.2
Dockerコンテナ起動
こちらのDockerイメージで。
現在最新のVersion 3.2.6 をつかいます。
https://hub.docker.com/r/jordan/rundeck/
docker run --rm -p 4440:4440 jordan/rundeck:3.2.6
docker run
docker pull
と docker create
と docker start
を1発で行うやつ。
イメージがホストマシン上になければDocker Hubからpullしてきて、コンテナつくって、コンテナを起動します。
-it
-i と -tをまとめて書いてるものです。
-i or --interactive
=> ホスト側のシェルからコンテナ内を操作できるようにする。
-t or --tty
=> 仮想ttyの割当て。キーバインドを使用したり、色を出力したりシェル操作を便利に行うために指定。
こちらが非常にわかりやすいです。
https://teratail.com/questions/121780
https://teratail.com/questions/19477
https://teratail.com/questions/100044
-p 4440:4440
ホスト側のポート番号
:コンテナ側のポート番号
をひも付けます。
ローカルのブラウザからlocalhost:4440
でRundeckの設定画面を開けるようにします。
--rm
コンテナを停止したときに自動で削除もしてくれます。
ログイン
ブラウザかlocalhost:4440にアクセス
※docker run してからアクセスできるようになるまで少しだけ時間がかかります(30秒くらい??)

Username: admin
Password: admin
でログイン
※ 初期設定がadmin
プロジェクト作成

今回は名前だけ設定し作成

SlackにAppをインストール
通知を可能にするために、Incomming WebhooksというアプリケーションをSlackへインストールします。
■Slack■
サイドメニューのApp >
incomming webhooks
で検索 > 追加
or
https://あなたのワークスペース.slack.com/apps/A0F7XDUAZ--incoming-webhook-?next_id=0
■ブラウザ■
ブラウザがひらくので、
右上のワークスペースを選択 > Slackに追加

通知先チャンネルを指定 > 追加

Webhook URLをコピー

■Rundeck■
Rundeckにもどり、Slack通知設定をします。

設定ファイルが開くので、末尾に以下の1行を追記
project.plugin.Notification.SlackNotification.webhook_url=https://hooks.slack.com/services/FOO/BAR/hogefuga
※https://hooks.slack.com/services/FOO/BAR/hogefuga
の部分がさっきコピーしたご自身のWebhook URLになります。

ジョブの作成

適当な名前をつけて

Workflowタブで

いろいろなステップを追加できますが、今回はお手軽にコマンドで

pwd
でカレントディレクトリを表示させましょう。

Scheduleタブから、時間やら定期実行やらをご自由に
※Cronの記法でも登録できます。

日本の方はタイムゾーンを Asia/Tokyo
に

Notificationsタブで通知設定をします。
成功時のSlackにチェックをいれます。
※今回はDockerイメージを利用しているので不要ですが、本来Slack通知を行うためにはプラグインファイルの設置などが必要になります。
参照: https://namionobkup.hatenablog.com/entry/2018/05/06/112439
※さきほどのWeb Hooks URLを設定しておかないと、以下の
~ Override
の欄に記入しても無効でした。
こちらの記事に助けて頂きました
参照: https://obel.hatenablog.jp/entry/20190326/1553563656


ちなみに
ここからすぐにジョブを実行することも可能です。

で、こんな感じでSlackに通知がきます
さいごに
Dockerイメージが公開されているので、簡単に環境構築ができてありがたいです。
おしまい。