概要
私は素晴らしいことをする ansible プレイブックを持っています。これが機能するのは、ssh をセットアップして、サーバー上で素晴らしさを広めることができるようにしたためです。ビルドが成功したときに自動的に素晴らしいものを提供するようにジェンキンをセットアップしたかったのです。
jenkins には私が持っているのと同じ ssh 機能がないため、これは失敗します。ansible と jenkins を使用してアプリの継続的デリバリーを実現するにはどうすればよいですか?
オプション: authorize-project-plugin
https://wiki.jenkins-ci.org/display/JENKINS/Authorize+Project+plugin
このプラグインをインストールして、ジョブをトリガーするとジョブが実行されるようにしました。
- グローバルセキュリティの設定で「ビルドをトリガーしたユーザーとして実行」を有効にしました
- プロジェクトで「ビルド認証の構成」と「ビルドをトリガーしたユーザーとして実行」を有効にしました
- シェルコマンドを実行するビルドステップを追加
whoami
コンソール出力には次のように表示されます。
ユーザーmy nameによって開始されました
私の名前で走る
ワークスペースでのビルドmy path
+ フーアミ
ジェンキンス
ジェンキンスではなく、自分のユーザー名がそこにあると思っていました。
更新: このプラグインは、システム認証ではなく、jenkins アプリケーションの承認を目的としていることを知りました。jenkins ユーザーはsudo user
、スクリプト実行の一部として必要になります。
オプション: jenkins ユーザーに NOPASSWD sudo を与える
acct はシステム アカウントであり、jenkins
デフォルトでは tty ではありません。完全なユーザー アカウントにしたり、sudo アクセスを許可したりすることもできますが、それはユーザー アカウントの偽装よりも大きなセキュリティ上の問題のようです。
オプション: ドッカー
オプション: ansible タワー
- ジェンキンス バージョン 1.617
- プロジェクト プラグイン バージョン 1.1.0 の承認