VSTS を Visual Studio for Windows から使う(git操作と自動ビルド)


Microsoft の提供する、オンラインのチーム開発環境サービス Visual Studio Team Services (以下 "VSTS") を、Windows 上の Visual Studio (IDE) から使う方法をご紹介します。

vsts

目次

  1. Visual Studio Team Services って何?
  2. Visual Studio for Windows から VSTS を使う
  3. Git の操作をしてみる
  4. 自動ビルドの機能を試す

Visual Studio Team Services って何?

Microsoft Visual Studio Team Service (以下 "VSTS")は、
オンラインのチーム開発環境サービスです!

( *゚▽゚* っ)З 「『チーム開発環境サービス』って何よ?つまり何ができるの?」

複数人で開発する時に必要なもののほぼ全てが用意されています!

visual-studio-team-services

  • チームのタスク管理 (かんばんボード)
  • バージョン管理システム (Git)
  • 自動ビルド
  • 自動テスト
  • 自動デプロイ
  • 管理者の許可(approve)があったらすぐに自動でストアに公開

など!

screen-shot-2017-02-13-at-15-15-16

Visual Studio for Windows から VSTS を使う

Windows で、Visual Studio を開きます。

メニューバーの「チーム」から「接続の管理」

screen-shot-2017-02-13-at-14-23-12

そうすると「チームエクスプローラ-」が開く(だいたい、VSの右側の、ソリューションエクスプローラーと同じ場所に開く。下側にタブがあるので切り替える)ので、
そこで「接続」。
もしアカウント持っていなかったら「無料で始める」をクリック。

screen-shot-2017-02-13-at-14-23-21

ログインアカウントを選択し、
VSに接続したいレポジトリを選択し、
「接続」をクリック。

screen-shot-2017-02-13-at-15-24-02

そうすると「リポジトリの複製 (clone)」というメニューが出てくるので、「複製」ボタンをクリック。
すると、リモートのリポジトリが ローカルにコピー(clone) され、ローカルで作業できるようになります。

clone された フォルダが開きます。
screen-shot-2017-02-13-at-15-52-11

チームエクスプローラは、このような感じになっています。
screen-shot-2017-02-13-at-15-48-23

Git の操作をしてみる

VSTS on Visual Studio for Windows 上で、Git 操作をしてみます!
とても簡単です。

取り敢えず、「CommitTest.txt」ファイルを新規作成してみました!

その変更を push したいと思います。

チームエクスプローラの「同期」をクリック

screen-shot-2017-02-13-at-16-03-16

自分の変更が Git に認識されているのを確認し、
コミットメッセージを編集し、
コミットする。(「すべてをコミット」ボタンを押す)

screen-shot-2017-02-13-at-16-05-15

コミットしたら、
home アイコンをクリックし、
チームエクスプローラのホーム画面に戻り、
「同期」をクリック

screen-shot-2017-02-13-at-16-13-00

さっきのコミットが認識されているので、
同期 (Sync)(= pull & push) をする

screen-shot-2017-02-13-at-16-07-03

この「同期」を押したら、push されるので、
ブラウザを立ち上げて、VSTS の画面で確認してみる

screen-shot-2017-02-13-at-16-17-38

やったね!簡単だ!

自動ビルドの機能を試す

( *゚▽゚* っ)З 「git から最新のコードを pull したら、ビルドが失敗するようになってしまったわ。誰よビルド通らないコードを push したのは!許さないわよ」

など、よくありますよね!

そんな時!

$ git push
したら
自動でビルドが (VSTSのサーバ上で)走り、
ビルドエラーが無ければ push を許す、

などをしたいですよね!

ということで、VSTS で自動ビルドを試してみましょう!

ビルド定義について

まずはビルド定義を組み立てることになります。

つまり「ビルドする時、具体的に何をするの?」みたいな。
やりたいタスクを組み立てていきます。

例えば「Android アプリのビルドが終わった後は .apk を binフォルダに吐き出したい」などの操作を定義できます。

例)Xamarinで作った Android アプリのビルドを定義

screen-shot-2017-02-13-at-16-29-01

( *゚▽゚* っ)З 「おお!いろんなタスクが上から並んでいるわね」

例えばこれは、
Xamarinで作った Android アプリのビルドを定義しています。

上から順番に、

  1. Get Sources(リポジトリからソースコードを取ってくる)
  2. NuGet restore(NuGet パッケージのリストア)
  3. Build Xamarin.Android Project(ビルド)
  4. Signing and aligning APK file(APKのサイニング)
  5. Publish Artifact: drop(吐き出された .apk を、指定したフォルダに保存する。(この後のreleaseプロセスで使えるようにする))

ということをしています。
(上から2つ目の「Xamarin Component restore」など、薄くなっているタスクは、disable になっています。(実行されない。いつでも enable にできる))

ビルド定義を組み立ててみよう

では、ためしに、Xamarin.Android のビルド定義を組み立ててみましょう。

Visual Studio Team Service の管理ページのメニューバーの

screen-shot-2017-02-13-at-17-09-37

「Build & Release」をクリック
→「Builds」をクリック
→「+Add New definition」 をクリック

そうするとテンプレートがたくさん出てきます。

screen-shot-2017-02-13-at-17-13-47

その中の、Xamarin.Android の「Apply」をクリック

screen-shot-2017-02-13-at-17-26-15

そして「Save」します。

これで、ビルド定義が完成しました。

( *゚▽゚* っ)З 「ビルド定義が完成したら、これを実際に動かしてみたいわ!」

screen-shot-2017-02-13-at-17-47-43

「Queue new build」を押します。

( *゚▽゚* っ)З 「『Queue』(キュー)って何?」

Queue は「待つ」という意味の英単語です。

ビルドするために、VSTSの持っているビルドサーバを待つことになります。(他のユーザも使うので)(お金を払えばビルドサーバを専有出来たりしますが、無料枠だと共有サーバになります)

「Queue new build」を押したらこのような窓が出てくるので、

screen-shot-2017-02-13-at-17-58-17

OKを押したらビルドが走ります。

screen-shot-2017-02-13-at-18-00-02

「Waiting for an available agent」と最初に出ます。
ビルド動かすことができる、空いているエージェント(ビルドマシン)を探して、他の人が使い終わるのを待っている状態です。

キュー(待ち行列)の先頭に来たら「Initialize Agent」エージェント初期化が始まります

で、ビルドが始まります。

screen-shot-2017-02-13-at-18-02-39

次は「git pushされた時に自動でビルドされる」というトリガーを設定しましょう

トリガーを設定

デフォルトでは、トリガー(キッカケとなるもの)は設定されていません。
なので手動で「Queue New Build」を押さなければビルドは走らないので「自動ビルド」ではないです。

ということで、トリガーを設定しましょう。

まず、「Build」から、自動ビルドしたいビルド定義を選びます。

screen-shot-2017-02-13-at-17-34-45

ビルド定義の「Edit (編集)」を押します。

screen-shot-2017-02-13-at-17-35-08

「Triggers」のタブをクリックし、

screen-shot-2017-02-13-at-17-32-42

デフォルトでは disable になっている CI トグルを enable にします。

screen-shot-2017-02-13-at-17-33-02

そして保存します。

Comments (2)

  1. jeslin より:

    It is really a great and useful piece of info. I’m glad that you shared this helpful info with us. Please keep us informed like this. Thank you for sharing.

  2. jeslin より:

    Being new to the blogging world I feel like there is still so much to learn. Your tips helped to clarify a few things for me as well as giving..

Skip to main content