以下の内容はhttps://bluebirdofoz.hatenablog.com/entry/2026/02/25/215937より取得しました。


AWESOME-COPILOTのドキュメントを読む その42(Ansible Conventions and Best Practices)

本日はAWESOME-COPILOTの技術調査枠です。
AWESOME-COPILOTのドキュメントを読みながら実際に操作を試して記事に残します。
今回はカスタムインストラクションの一つAnsible Conventions and Best Practicesについてです。

Ansible Conventions and Best Practices

Ansible Conventions and Best PracticesはAnsibleの規約とベストプラクティスです。
Ansibleはサーバーやクラウド環境の構築・設定・アプリ配備などを自動化するためのIT構成管理ツールです。
以下のページからAnsible Conventions and Best Practicesのインストールボタンをクリックして取得します。
github.com

インストールボタンを押してAnsible Conventions and Best Practicesをダウンロードします。
すると.github/instructions配下にインストラクションがインストールされます。

インストールしたインストラクションはCopilotの動作に自動的に適用されます。
本インストラクションをインストールすると、'**/*.yaml, **/*.yml'などのAnsibleのプレイブックや設定ファイルへルールを適用します。

本インストラクションはAnsibleのYAMLファイル編集時のみCopilotが以下ルールを参照します。

Ansibleの基本ルールを優先

CopilotはAnsibleをインフラ構成管理ツールとして正しく使う前提で補完・提案をします。

  • 変更可能な構成を コードとして明示する
  • 可能な限り idempotent(冪等性が担保された)モジュールを利用する
  • shell, command, raw など汎用コマンドは必要時のみ推奨する
  • 説明的な task 名を付ける(例: Install nginx, Configure app)
タスクの命名ガイド

プレイブックの可読性と一貫性を高くするため、Copilotに生成させるタスク名には以下ルールを優先します。

  • 分かりやすい動詞から開始する(Install, Configure, Copy など)
  • タスク名は大文字始まり・ピリオドを省略する
  • roleタスク名に role名を含めない(Ansibleが自動で表示するため)
変数管理・グループ化の提案

メンテナンスしやすいPlaybookを生成するために、Copilotは以下のような変数管理の良い書き方を提案します。

  • group_vars で属性に応じた変数定義
  • 関連変数をまとまりで整理する
  • 余計な冗長記述を避ける
インベントリ・タグ・リソース設計

柔軟性を持たせた設計提案を行うため、ファイルや環境設計についてもCopilotは次のようなルールを反映します。

  • dynamic inventory の利用を推奨(クラウド環境などで柔軟性を担保)
  • タグ付けで環境や機能・場所に応じてフィルタリング可能な設計
秘密情報管理(Vault など)

秘密情報の扱いについて次のルールを明示します。

  • Ansible単体で扱う場合はAnsible Vaultを使う
  • 変数を vault 内に正しく分離し、参照する用に構造化する
  • 他ツール(例: Hashicorp Vault、AWS Secrets Manager)との連携を推奨する
スタイルとYAMLの一貫性

読みやすくレビュー性の高いコードを提案するため、CopilotはAnsible YAM を生成する際に以下のコードスタイルの一貫性を優先します。

  • 2スペースインデント
  • ブロックやセクションごとに空行で視認性を確保する
  • snake_caseで変数を命名する
  • マルチライン構文を優先して可読性を高める
  • シングルクォートを優先し、二重引用符は必要時のみ使用する
変数・タスクのソート順と構成順

レビューやdiffの可読性を向上するため、Copilotはプレイブック内の要素を一定順序で整える提案をします。

  • ホストブロックやタスクの順序を標準化する
  • キーやオプションをアルファベット順で整列する
  • taskの一般順序(name → module → params → loop → tag)を維持する
Lint・チェックの促進

生成されたコードを検証するため、Copilotは次のツール利用を提案します。

  • ansible-lintでコード品質チェック
  • yamllintでYAMLの構文チェック
  • ansible-playbook --syntax-checkで実行前検証
  • ansible-playbook --check --diffでドライラン



以上の内容はhttps://bluebirdofoz.hatenablog.com/entry/2026/02/25/215937より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14