どうも、Tです。
AWXをGitHubのプライベートリポジトリと同期してみたので備忘録です。
目次
環境
AWX
24.6.1
やりたいこと
以前、GitHubパブリックリポジトリを使いplaybookの実行まで試しました。

パブリックリポジトリは世界に公開されてしまうため、プライベートリポジトリを使いAWXと同期します。
下記のような内容は割愛しているのでわからない方はググりながら補完してください。
- Playbookの書き方や細かな意味
- Ainsibleは何なのかとか…
- GitHubの使い方とか…
今回はGitHub(プライベートリポジトリ)とAWXとの同期まで説明し、Playbook関連の設定や実行方法は含めていません。
GitHub設定
GitHubプライベートリポジトリ作成
GitHubでプライベートリポジトリを作成し、テスト用のPlaybookをPushしておきます。
今回は「test-awx-private」というリポジトリ名にしました。
「Code」をクリックしリポジトリのURLをメモしておきます。
パーソナルアクセストークン発行
AWXからGithubプライベートリポジトリ接続の認証に利用するパーソナルアクセストークンを発行します。
Githubの右上の自身のアイコンをクリックしメニューから「Settings」をクリックします。
Settings画面の左メニュー下部にある「Developer settings」をクリックします。
「Personal access tokens」->「Fine-grained tokens」画面を開き「Generate new token」をクリックします。
詳しくは下記をご参照ください。

下記を設定します。
項目 | 値 | 備考 |
---|---|---|
Token name | test-awx-private-token | わかりやすい任意の名前 |
Resource owner | 自身のGitHubアカウント名 | AWXからの認証時にも利用 |
Expiration | 7days | トークンの有効期限。下記から任意の期間を指定。 7days 30days 60days Custom No expiration |
Reposigory access (Only select repositories) | <アカウント名>/test-awx-private | 今回はテスト用のプライベートリポジトリのみを選択。 |
画面下部のPermissionsのRepository permissionsのメニューから「Contens」を「Read-only」にします。
AWXからのPullのみできればよいので、Read-onlyにしています。
ContentsのRead-onlyに必要となるMedataが自動的にRead-onlyになることを確認します。
画面下部の「Generate token」をクリックします。
確認画面で「Generate token」をクリックします。
発行されたトークンをコピーします。
コピーし忘れた場合、再度トークンの発行が必要になります。
AWX設定
認証情報設定
AWXでGitHub認証用の設定を行います。
「リソース」->「認証情報」画面を開き「追加」をクリックします。
下記の項目を設定し「保存」をクリックします。
項目 | 値 |
---|---|
名前 | 任意の認証情報設定名 |
認証情報タイプ | ソースコントロール |
ユーザー名 | GitHubのアカウント名もしくはメールアドレス |
パスワード | GitHubで作成したパーソナルアクセストークン |
認証情報タイプについて
ソースコントールは、GitやSubversionなどのリモートリビジョン管理システムからの複製・更新するプロジェクトに使用されます。
https://docs.redhat.com/ja/documentation/red_hat_ansible_automation_platform/2.4/html/automation_controller_user_guide/ref-controller-credential-types#ref-controller-credential-source-control
認証情報タイプに「GitHubパーソナルアクセストークン」というそれらしい選択肢がありますが、こちらはWebhookで利用するものです。本手順のようなGitHubのプライベートリポジトリから複製・更新するようなプロジェクトには使用できないためご注意ください。
https://docs.redhat.com/ja/documentation/red_hat_ansible_automation_platform/2.4/html/automation_controller_user_guide/ref-controller-credential-types#ref-controller-credential-gitHub-pat
認証情報が設定できたことを確認します。
プロジェクト作成
AWXのプロジェクトを作成していきます。
「リソース」->「プロジェクト」画面を開き「追加」をクリックします。
下記を設定し「保存」をクリックします。
項目 | 値 |
---|---|
名前 | 任意のプロジェクト名 |
ソースコントロールのURL | GitHubで作成したプライベートリポジトリのURL |
ソースコントロールブランチ/タグ/コミット | main |
ソースコントロール認証情報 | 認証情報設定で作成したものを選択 |
自動的に同期されるため、「最終ジョブステータス」が「成功」になることを確認します。
確認
「リソース」->「テンプレート」画面の「追加」->「新規ジョブテンプレートの追加」をクリックします。
ジョブテンプレートの「プロジェクト」で作成したプロジェクトを選択し「Playbook」でGitHubのプライベートリポジトリにPushしていたPlaybookが選択できることを確認します。
参考
まとめ
一度わかってしまえば簡単ですが、あまり情報がなく結構時間かかりました…。