はじめに
Ansible は GitHub 上で日々開発が進められています。 バグや要望などは Issue にあげられ、実装は Pull Request にあげられます。
Pull Request にあげられた追加、修正コードのうち、ansible/ansible リポジトリ にマージされていないものは、そのままで試すことはできません。ちょっとした手順が必要になります。
手順は、以下の公式ドキュメントに記載されています。
先日、ある Issue にコメントしたところ「直した Pull Request を出したから、試してみて(意訳)」と依頼ががあって、実際試しました。 手順例として具体的な値を利用して手順をまとめておきます。
試したい対象の Pull Request
対象は以下の Pull Request です。
手順
リポジトリのクローン
まず、普段実行している Ansible とは別の県境環境を用意するためにクローンします。
git clone https://github.com/ansible/ansible.git ansible-pr-testing cd ansible-pr-testing
ブランチの作成と修正コードのマージ
作業用のブランチを作成して、修正コードをマージします。
対象 Pull Request #66119 に
Akasurde wants to merge 1 commit into ansible:devel from Akasurde:fortios_fix
と記載があるように、Akasurde さんのリポジトリの fortios_fix ブランチで修正されたものを、ansible/ansible の devel ブランチにマージしてほしいという、Pull Request です。
これらの情報から、以下の指定をします。
- 作業用のブランチ名は
testing_PR66119
- 本当はなんでもいいのですが、公式ドキュメントの
testing_PRXXXX
という名前の付け方にあわせています
- 本当はなんでもいいのですが、公式ドキュメントの
- pull 元は https://github.com/Akasurde/ansible.git の
fortios_fix
ブランチ
git checkout -b testing_PR66119 devel git pull https://github.com/Akasurde/ansible.git fortios_fix
環境のセットアップ
以下のコマンドで開発環境のセットアップを行います。各種パスの設定などが行われます。
source ./hacking/env-setup
テスト と Pull Request へのコメント
ここまでで準備ができたので、実際に試したい Playbook を実行。 うまくいったので、その旨を Pull Request へコメントしました。
おわりに
まだマージされていない Pull Request のコードを試す方法をまとめました。 Git / GitHub の使い方を知っていれば、そんなに特別なことはないかも知れませんが、公式ドキュメントとして手順がまとめられいるのはとても親切だと思いました。
Ansible は、自動化対象のソフトウェア、機器、プラットフォームが多岐に渡ります。そのため、コード修正者自身では検証しきれないケースもあります。 今回のように、修正自体はしていないものの、自分の環境で試すことも貢献のひとつと考えて今後も OSS と付き合っていきたいと思います。