【JenkinsとAnsibleを連携してCisco機器への設定を自動化】 ~シナリオ1

 【 社内ハンズオン2動画 】

"">

 

【 社内ハンズオン2概要 】

  • シナリオ1、Cisco機へのconfig投入⇒ wr memで保存 ⇒ configバックアップ       を自動実行、エラー終了したらメール通知をする

  ※【AnsibleでCisco機器にconfigを投入する基本的な流れ】で実行したplaybookを利用

  •  シナリオ2、Cisco機からのlog取得を定期的に実行する

 

【 構成図 】

f:id:pinn38:20190407075714p:plain


jenkinsとAnsibleを連携させてCisco機器への設定とリモートサーバへのconfig保存を自動実行します。
前回は設定用とリモートバックアップ用ので2回ansible-playbookコマンドを実行しましたが、jenkinsのjobを連動して実行できる機能を使って1回で実行します。

jenkisはgitとも連携できる他、さまざまなプラグインがあるので今後もAnsible他NW機器の自動化に役立つ機能をして紹介していく予定です。

 

★シナリオ1 jenkinsでJOB作成(設定用)

 

■新規job作成を選択
"Enter an item name"のところにjob名を適宜決定し入れる。
 (例)sample_router_test

 

■フリースタイルプロジェクトのビルドを選択し「OK」を押下

 

■ビルトタブ⇒ビルド手順の追加からプルダウンで「シェルの実行」を選択
シェルスクリプトの欄に以下のansible-playbookコマンドをコピペ。

ansible-playbook -i /etc/ansible/inventory/cisco /etc/ansible/cisco_static_hostname.yml -v

 

■ビルド後の処理でビルド後の処理の追加、ほかのプロジェクトのビルドを選択
 (例)sample_router_test
を投入し、安定している場合のみ起動を選択。

 

■ビルド後の処理の中の
Eメール通知を選択し宛先メールアドレスを設定
不安定ビルドも逐一メールを送信にチェック

 

■保存

 

■←左上の矢印でダッシュボードへ戻る

 

★ansible-playbook実施 JOB作成(config保存用)

■新規job作成を選択
"Enter an item name"のところにjob名を入れる。
 (例)sample_router_backup

 

■フリースタイルプロジェクトのビルドを選択しOKを押下

 

■ビルトタブ⇒ビルド手順の追加からプルダウンでシェルの実行を選択
シェルスクリプトの欄に以下のansible-playbookコマンドをコピペ。

 

ansible-playbook -i /etc/ansible/inventory/cisco /etc/ansible/cisco_backup.yml -v

 

■ビルド後の処理の中の
Eメール通知を選択し宛先メールアドレスを設定
不安定ビルドも逐一メールを送信にチェック

 

■保存

 

■←左上の矢印でダッシュボードへ戻る

 

★jobの実行
sample_router_testを選択
左メニューのビルド実行を押下

 

★確認
コンソール表示でログが出力でSUCCESSとなること

f:id:pinn38:20190406230516p:plain


その後、下流プロジェクトのsample_router_backupが連動して自動に実行されること

f:id:pinn38:20190406230816p:plain