6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM Watson/watsonxを知る・試す・活用するを支援するAdvent Calendar 2023

Day 10

Ansible Lightspeed with watsonx Code Assistant の Ansible-Code-Bot の設定と動作の確認

Last updated at Posted at 2023-12-10

はじめに

Ansible Lightspeed with IBM watsonx Code Assistant の機能の一つに、Ansible Code Bot という対象Git リポジトリーのコードの推奨提案(自動プルリクエスト作成) があります。

service preview 版のようですが、設定と動作を確認しました。


Ansible コードボットは、Git リポジトリーを通じて既存のコンテンツコレクション、ロール、Playbook をスキャンし、ベストプラクティスや品質向上に関する推奨事項が利用できるたびにプルリクエストを前もって作成します。ボットはプルリクエストをリポジトリーに自動的に送信し、コンテンツに対する推奨される変更をリポジトリー所有者に事前に通知します。既存の Git リポジトリー (パブリックとプライベートの両方) をスキャンするように Ansible コードボットを設定できます。組織で Ansible コードボットを使用するには、有効な Red Hat Ansible Lightspeed with IBM watsonx Code Assistant サブスクリプションが必要です。

Ansible コードボットは、Ansible lint を使用してコードの品質向上を提案します。Ansible コードボットは、実証済みのプラクティス、パターン、動作を促進しながら、バグにつながりやすい、またはコードのメンテナンスが困難になるような一般的エラーを回避します。Ansible コードボットは、設定されたルールに基づいてコンテンツをスキャンし、コンテンツが Ansible のベストプラクティスに準拠していることを確認します。


環境

Ansible Lightspeed with watsonx Code Assistant は以下で構成、使用可能となります。

  • Ansible Automation Platformのライセンス

  • IBM Cloud で watsonx Code Assistant の サービス(API key を使用)

  • Visual Studio Code の Ansible Extension の設定

  • GitHub のアカウントとリポジトリー、コード


設定は多岐に渡り調べながら試行錯誤でした。いつか設定方法を書くかもしれませんが、予定未定です。

Ansible Code Bot のインストール

Ansible Lightspeed with watsonx Code Assistant が使用可能であることを前提として設定を進めます。

第8章 Ansible コードボットのインストールと設定

8.1. Ansible コードボットのインストール を実行します。

右上の Configure を押します。

図1.png


対象のOrganization を選択します。


対象のリポジトリを選択します。


RedHat にログイン画面に遷移...


認証が通り、設定されました。


設定した対象のリポジトリーに移動します。
Github Apps で Ansible code bot が設定されています。

図6.png


Ansible Code Bot の設定

8.2. Ansible コードボットのリポジトリーの定期スキャン設定

定期スキャンでは、リポジトリーの.github ディレクトリ下に ansible-code-bot.yml を設定します。

1.png


手動のスキャンは以下の設定です。

8.3. Git リポジトリーの手動スキャン

対象リポジトリーの Code 画面で、About 横の設定ボタンを押します。


2.png


Topics に "ansible-code-bot-scan" を入力します。

3.png


手動スキャンではすぐにpullリクエストはされず、次の内容は daily scan の結果内容です。
日本時間 18:00 頃に実行された様子でした。


コード修正の自動提案の確認

図1.png


"Fix ansible-lint rule violations" の報告です。

図2.png


pull request のブランチが作成されています。


修正内容詳細

図4.png


file モジュールの name 指定で " " は不要という指摘でした。

確かに、別件でAnsible コーディング・テストをしていた時、” " の有無でのエラーと修正はよく遭遇しました...
自動で指摘されるのであれば多少ありがたい機能です。


おわりに

マニュアルによると推奨事項には以下が例とありました。

第8章 Ansible コードボットのインストールと設定

次の例は、Ansible コードボットが提案できるコードの推奨事項です。
非推奨のレガシー構文または実装パターンに利用可能な代替手段
モジュールのバージョンの変更と更新:
新しい必須パラメーターの追加
非推奨のパラメーターのフラグ付け
未使用のパラメーターの削除
YAML ベストプラクティスの適用
コメントブロックの追加
名前フィールドの大文字と小文字の問題を修正

AIの精度がさらに上がることを期待しつつ、引き続き試す内容を見つけて理解を深めたいと思います。

6
1
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
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?