第6章 Ansible コードボットのインストールと設定
Ansible コードボットは、GitHub リポジトリーを通じて既存のコンテンツコレクション、ロール、Playbook をスキャンし、ベストプラクティスや品質向上に関する推奨事項が利用できるたびにプルリクエストを前もって作成します。
Ansible コードボットは、コードリポジトリーをスキャンして、コードの品質の改善を推奨します。Ansible のベストプラクティスを推奨し、バグにつながる可能性があったり、コードの管理を困難にする可能性のある一般的なエラーを回避します。ボットはプルリクエストをリポジトリーに自動的に送信し、コンテンツに対する推奨される変更をリポジトリー所有者に事前に通知します。既存の Git リポジトリー (パブリックとプライベートの両方) をスキャンするように Ansible コードボットを設定できます。
Ansible コードボットを使用するには、組織に Red Hat Ansible Automation Platform への有効なサブスクリプションが必要です。ただし、Ansible コードボットを使用するために IBM watsonx Code Assistant は必要ありません。
Ansible コードボットをインストールすると、Jinja 形式の選択されたリポジトリーが自動的にスキャンされます。スキャンが完了すると、コードボットは各リポジトリーの初期 PR を生成します。初期 PR には、毎週実行するように設定されたスキャンスケジュールも含まれています。必ず提案された変更について初期 PR を確認し、PR をマージしてください。初期 PR がマージされると、スキャンスケジュールがトリガーされ、後続のリポジトリースキャンが毎週実行されます。必要に応じて、スキャンスケジュールを毎日または毎月の頻度に変更できます。
ユーザーは、ボットがインストールされているすべてのリポジトリーとそのスキャンステータスが表示される Ansible コードボットダッシュボードにアクセスできます。ダッシュボードから、手動スキャンの開始、スキャン履歴の表示、およびリポジトリーの表示を行うことができます。GitHub から、定期的にリポジトリーをスキャンするようにスケジュールを設定したり、スキャンされないようにリポジトリーを追加または削除したりできます。詳細は、リポジトリースキャンの管理 を参照してください。
Ansible コードボットは、次の GitHub バージョンでサポートされています。
- GitHub.com
GitHub Enterprise Cloud
Ansible コードボットは GitHub Enterprise Server ではサポートされていません。詳細は、GitHub ドキュメントの GitHub の計画 を参照してください。
次の例は、Ansible コードボットが提案できるコードの推奨事項です。
- 非推奨のレガシー構文または実装パターンに利用可能な代替手段
モジュールのバージョンの変更と更新:
- 新しい必須パラメーターの追加
- 非推奨のパラメーターのフラグ付け
- 未使用のパラメーターの削除
- YAML ベストプラクティスの適用
- コメントブロックの追加
- 名前フィールドの大文字と小文字の問題を修正
6.1. Ansible コードボットのインストール リンクのコピーリンクがクリップボードにコピーされました!
Ansible コードボットをインストールしてリポジトリーのコード推奨を取得し、Ansible コードボットダッシュボードにログインしてリポジトリースキャンを監視および管理します。
手順
- 組織に関連付けられたアカウントを使用して GitHub にログインします。
- Ansible code bot GitHub アプリケーションに移動します。
アプリケーションがアクセスする Ansible リポジトリーを選択します。
- All repositories: 全リポジトリーのメタデータを読み取るアクセス権を提供します。
- Only select repositories: 選択したリポジトリーのメタデータだけを読み取るアクセス権を提供します。
- オプション: 前の手順で Only select repositories を選択した場合は、Ansible コードボットにアクセスさせるリポジトリーを Select repositories リストから選択します。
Install & Authorize をクリックします。インストール中に次の権限がボットに自動的に付与される旨のメッセージが表示されます。
- メタデータへの読み取りアクセス
- コードおよびプルリクエストへの読み取りおよび書き込みアクセス
- プロンプトが表示されたら、組織管理者として Red Hat Single Sign-On アカウントにログインします。
Ansible コードボットダッシュボードにログインします。
- Authorize Ansible code bot ページで、アカウントおよびリポジトリーのパーミッションを確認します。
Authorize Ansible をクリックします。
Authorize Ansible code bot ページから、次のアクションが実行されます。
- Ansible コードボットは、Red Hat Ansible Automation Platform への有効なサブスクリプションを持つ組織に所属しているかどうかを確認します。
- GitHub は、ご使用中のアカウントに関連付けられたリポジトリーに対する読み取り権限をリクエストします。
認可が成功すれば、Ansible コードボットダッシュボードにログインできます。ダッシュボードに、Ansible コードボットがインストールされているすべてのリポジトリーとそのスキャンステータスが表示されます。
検証
Ansible コードボットをインストールすると、Jinja 形式の選択されたリポジトリーが自動的にスキャンされます。スキャンが完了すると、コードボットは各リポジトリーの初期 PR を生成します。初期 PR には、毎週実行するように設定されたスキャンスケジュールも含まれています。
次のタスクを実行します。
提案された変更について初期 PR を確認し、PR をマージします。
初期 PR をマージすると、設定されたスキャンスケジュールがトリガーされ、後続のリポジトリースキャンが毎週実行されます。
注記初期 PR をマージしないと、週次スキャンスケジュールがトリガーされず、関連するスキャン履歴がない状態で Ansible コードボットダッシュボードにリポジトリーが表示されます。
次の図は、作成される初期 PR の例です。
- オプション: 必要に応じて、リポジトリーを手動でスキャン したり、スキャンスケジュールを毎日または毎月に変更 したりできます。
- リポジトリーを追加するか、既存のリポジトリーをスキャン対象から削除 して、スキャン対象のリポジトリーを変更します。