Cisco VIRL から Git リポジトリへアクセスする
Cisco VIRL では検証した構成や機器のコンフィグを .virl ファイルに保存しておくことが出来ます。.virl ファイルをローカル PC に保存しておくことも出来ますが、GitHub 等のリポジトリに保存しておくと便利です。Cisco VIRL を操作する VMMaestro は Git クライアント機能を持っているのですが、少なくても自分が試す限りはちょっと癖がある??ようなので、Git リポジトリの利用手順をメモしておきます。
気になった点¶
VMMaestro へ Git リポジトリを登録する手順を説明する前に、現状の VMMaestro で気になった点を記載しておきます。
HTTPS だと、上手く Git リポジトリに繋がらない?¶
VMMaestro から Git リポジトリにアクセスする際、HTTPS だと上手くクローンされないことがありました。SSH だと問題が無いようです。
「Import as general project」以外で上手くインポート出来ない?¶
プロジェクトをインポートする手段は以下の 3 つ、ありますが、3 番目の「Import as general project」以外では設定は完了するものの、最終的に Git からクローンされませんでした。
- Import existing projects
- Use the New Project wizard
- Import as general project
インデックスからの削除がリアルタイムで反映されない¶
VMMaestro に Git リポジトリの登録が完了した後、Git からファイルを削除する為に「Remove from Index」(git rm に相当) を実行しても、プロジェクトファイルのアイコンにインデックスのマークが付いたままでした。VMMaestro を再起動するとアイコンが変わり、変更が反映されました。
検証環境¶
検証環境は以下の通りです。クライアント OS は OS X を使っているので、当然ながら VMMaestro も OS X 版を使っています。また、GitHub 上には既にリポジトリが存在している前提で進めます。
項目 | 値 |
---|---|
クライアント OS | OS X 10.11.4 |
Cisco VIRL | VIRL 1.1.1 April’16 release |
Git リポジトリ | GitHub |
GitHub に SSH 公開鍵を登録しておく¶
VMMaestro の Git クライアントから HTTPS で GitHub へアクセスしてみたのですが『401 authentication required』エラーになってしまいました (VMMaestro からでは無く、CLI からであれば HTTPS アクセスは上手くいく)。コミュニティサイトには Github Push and Sync という投稿があり、私と同じ事象 (401 authentication required エラー) に遭遇している方が複数、いるようです。SSH であれば VMMaestro からでも上手くいくので、今回は SSH を使うことにしました。よって、事前に GitHub に公開鍵を登録しておきます。また、私の環境では秘密鍵をホスト毎に使い分けている都合上、~/.ssh/config へ以下のように追記し、github.com へのアクセス時には適切な秘密鍵が用いられるようにしておきました。
1 2 3 4 5 |
|
これで準備完了です。
VMMaestro に Git リポジトリを登録し、クローンする¶
Select¶
VMMaestro のメニューから「File → Import...」をクリックします。インポート元を問われるので「Projects from Git」を選択し、次へ進みます。
Select Repository Source¶
Git リポジトリの位置を選択します。「Clone URI」を選択し、次へ進みます。
Source Git Repository¶
リポジトリの情報を入力します。以下の項目を入力し、次へ進みます。
項目 | 値 |
---|---|
URI | GitHub のリポジトリページからプロトコルを (HTTPS では無く) SSH に変更した状態で URL をコピーし、貼り付ける |
Protocol | ssh を選択 |
User | GitHub に登録しているユーザ名を入力 |
Branch Selection¶
ブランチを選択し、次へ進みます。
Local Destination¶
リポジトリのクローン先になる、ローカルディレクトリを指定します。
Select a wizard to use for importing projects¶
プロジェクトをインポートする手段を選びます。選択肢は以下の 3 つ、あります。
- Import existing projects
- Use the New Project wizard
- Import as general project
ですが、3 番目の「Import as general project」以外はなぜか設定完了した後にクローンされません?? (上手くいったこともある気がするのですが…) ですので、「Import as general project」を選択します。
Import Projects¶
Git のリポジトリからインポートしたプロジェクトに対して、VIRL での名前を付けます。初期値ではリポジトリ名と同じになっているので、このまま次に進みます。
これで設定は完了です。VMMaestro に Git リポジトリからクローンされたプロジェクトが表示されているはずです。
Git の操作¶
VMMaestro から Git の操作を行うにはプロジェクトを右クリックして表示されるコンテキストメニューの Team メニューを利用します。代表的な操作は以下の通りです。
Git コマンド | VMMaestro の操作 |
---|---|
git commit | Team -> Commit |
git push | Team -> Remote -> Push |
git add | Team -> Add to Index |
git rm | Team -> Remove from Index |