iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

AzureでGitリモートサーバー構築

自己紹介

始めまして。今回の記事を担当する堀田と申します。
現在は某社の社内で使用するExcel VBAシステムの改修をメインの業務としています。
はい、今時VBAです。

そんな訳ですから、たまにはVisual Studioとかの高機能なIDEを使用してコードを書きたくなります。
今回はそんな中で思いついたネタを一つ書いてみます。

AzureとVM Depot

最近、Microsoft Azureを触る機会がありました。
Webブラウザ上の数クリックの操作で仮想マシンを立てたり消したりできます。
OSだけインストールして自分流にカスタマイズしていくことも、
多数用意されたWebアプリケーションを展開してすぐにWebサイトを展開することも可能です。
素晴らしいですね!
ただし、課金にだけは気を付けましょう。不必要に高スペックなマシンを立てて稼働中のまま放置しないように…

さて、AzureにはVM Depotという機能があります。
これはAzureの仮想マシンイメージを提供するコミュニティです。
かなりの種類があり、Jenkins、Ghost、DocWikiやそれらのバージョン違いなど多数のイメージが用意されています。

その中で、今回はGitLabに着目しました。

GitLabリモートリポジトリサーバー

GitLabはWebベースのGitリポジトリマネージャーです。
GitHubと似ていますが、GitLabはオープンソースであるため自分で用意したサーバーに展開することも可能です。

ここで冒頭に繋がります。
そう、Visual Studio用のリモートリポジトリをGitLabサーバーに立ててみました。

Visual StudioにはGitと連携する機能があります。(Visual Studio 2013以降は標準でついています)
そのため、慣れるまでは微妙に苦労するGit周りの設定をほとんどせずにGitを扱うことができてしまいます。

手順

  1. AzureでGitLabイメージを作成
  2. GitLabイメージから仮想マシンを作成
  3. GitLabにログインし、プロジェクトを作成
  4. Visual Studioでプロジェクトを作成
  5. ローカルリポジトリにコミット
  6. GitLab上のリモートリポジトリにプッシュ

それぞれの手順を説明していきます。

AzureでGitLabイメージを作成

Azureの管理画面から[仮想マシン]→[イメージ]→[VM DEPOTの参照]を選択し、GitLabを選択します。
f:id:ipx-writer:20150426193826j:plain:w300

GitLabイメージから仮想マシンを作成

作成したイメージを選択し、下のメニューから登録を選択します。
[仮想マシン]の[インスタンス]から新規に仮想マシンを作成します。
[ギャラリーから]の[マイ イメージ]に先ほど作成したイメージがあるのでそれを選択します。
f:id:ipx-writer:20150426212103j:plain:w300

あとは表示される項目を埋めていき仮想マシンを作成します。設定はお好みで良いですが、
HTTPエンドポイントは作成しておいた方が良いでしょう。(後で追加・変更できます)
f:id:ipx-writer:20150426193818j:plain:w300

以上でGitLabサーバーを立てることができました。

GitLabにログインし、プロジェクトを作成

先ほど作成した仮想マシンにWebブラウザからアクセスします。デフォルトのURLは http://<ホスト名>.cloudapp.net/ です。
HTTPエンドポイントを設定してあれば、下のようなページが表示されます。
f:id:ipx-writer:20150426193822j:plain:w300

ログインします。
初期のユーザー名とパスワードはbitnamiのページに書かれています。
GitLab CE Cloud Hosting on Azure

何もプロジェクトを作成していない場合は[New Project]ボタンから、
プロジェクトを作成したことのある場合は上メニューの+アイコンからプロジェクトを作成します。
項目を入力して[Create Project]ボタンを押すとGitのプロジェクトが作成されます。
ちなみに、ここでWeb上で公開されている他のGitリポジトリからインポートすることもできます。

Visual Studioでプロジェクトを作成

ここで一旦ローカル環境に。
Visual Studioを起動し、プロジェクトを作成します。
この時、右下に[ソース管理に追加]という項目があるので、それをチェックします。
f:id:ipx-writer:20150426194247j:plain:w300
すると、作成時にどの管理システムを使用するか聞かれるので、Gitを選択します。

既存のプロジェクトをGitに追加したい場合はソリューションエクスプローラー上で右クリックし、[ソリューションをソース管理に追加]を選択します。
f:id:ipx-writer:20150426194606j:plain:w300

ローカルリポジトリにコミット

Visual Studioのチームエクスプローラーを表示し、[プロジェクト]の[変更]を選択します。
コミットメッセージを入力し、[コミット]ボタンを押してコミットします。

GitLab上のリモートリポジトリにプッシュ

コミットすると以下の画面が表示されるので、[同期]か[同期されていないコミット]を選択します。
f:id:ipx-writer:20150426195218j:plain:w150
するとリモートリポジトリのURLの入力を促されます。
f:id:ipx-writer:20150426195535j:plain:w150
ここで、先ほど作成したGitLabプロジェクトのリポジトリを指定します。

プロジェクトのページを見るとGitリポジトリアクセス用のURLが表示されています。
f:id:ipx-writer:20150426200044j:plain:w300
[HTTP]を押して表示されるリポジトリのURLをコピーし、先ほどのVisual Studioの入力欄に貼り付けて[発行]ボタンをクリックします。

資格情報の入力を求められるため、GitLabのユーザー名とパスワードを入力します。
f:id:ipx-writer:20150426200649j:plain:w300

成功すると以下のような表示がされます。
f:id:ipx-writer:20150426200944j:plain:w150

GitLabのプロジェクトも確認してみましょう。
f:id:ipx-writer:20150426201752j:plain:w300

ちゃんと追加されています。

まとめ

ここまで全てGUI上での操作です。
コマンドラインを一切触ることなくできてしまいました。
別の作業でコマンドラインで悪戦苦闘している真っ最中なので、ここまで楽にリモートリポジトリができるとは思っていませんでした。

今度はRedmineとGitの連携に挑戦してみたいところです。
(実はこちらに挑戦してみて上手くいかず、ブログの更新順に間に合いそうにないから妥協してできた内容だったりします…)