[Azure] プロキシ環境下のSourcetreeからAzure DevOps Projectに接続する

Sourcetreeはアトラシアン(Atlassian)社が提供する無料のGitクライアントです。
接続先としてAzure DevOps Projectにも対応していますが、プロキシとURLの設定に少し注意が必要なのでまとめておきます。

# インストール時の注意

インストール中、ウィザードでBitbucket ServerかBitbucketにログインしないと先に進めないようになっていますが、ここでURLを変えてみてもDevOpsPJには接続できません。
Sourcetreeを使おうという方であればどちらか既存の接続先があると思いますので、ログインして先に進んで下さい。全く新規の場合はBitbucketにサインアップ(個人は無料)して先に進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/c959bbbc-0cae-eaea-971a-34e6e09b3590.png)

# Azure DevOps ProjectでのPersonal Access Token発行

Sourcetreeからの接続にはPersonal Access Tokenを使用します。DevOps Projectで、以下の手順で発行しておきます。

個人メニューからSecurityを選択：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/d3cec678-0aa2-d467-ba5c-6bdcbdea6407.png)

Personal access tokens → New Tokenを選択：
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/e6e1da5a-53e9-061d-105d-e517f767ebe5.png)

Tokenが発行されたらコピーしておきます。警告メッセージにもありますが、この画面を閉じると二度と確認できないので注意して下さい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/e033b173-e669-e028-2015-f8fa51195590.png)

# Sourcetreeのプロキシ設定

インストール後、Sourcetreeを起動したらツール → オプションを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/4e90227c-6b76-a027-4aff-f15c9e45ad5b.png)

プロキシサーバを設定し、<font color="red">「Git/Mercurialにプロキシサーバー設定を追加」にチェックを入れます。</font>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/3c3bab5a-3c27-5777-816c-1b25d72b6dbb.png)

# DevOps Projectへの接続設定

プロキシ設定後ダイアログを閉じ、リモートリポジトリ → アカウント追加を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/6a45374e-f5b0-8a07-4b83-2cee815669bb.png)

「ホスティングアカウントを設定」ダイアログで接続先を設定します。

- ホスティングサービスで <font color="blue">"Azure DevOps"</font> を選択
- ホストURLを入力：最近作成したDevOps ProjectのURLは <b><font color="blue">https&#58;//dev.azure.com/xxxxxx/</font></b> になりますが、このドメインには現在Sourcetreeが対応していないため、<b><font color="red">https&#58;//xxxxxx.visualstudio.com/ の形式に変更して設定します。</font></b> 例えば、DevOps ProjectのURLが `https://dev.azure.com/vademo/` の場合は `https://vademo.visualstudio.com/` を入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/5f5888c3-ae78-4de6-e50b-4af713729a91.png)

プロジェクトを設定したら、「Personal Access Tokenを再読み込み」ボタンを押します。ダイアログが出るので、ユーザ名に <font color="blue">DevOps Projectのアカウント</font>、パスワードに <font color="red">先のステップで発行したToken</font> を入力してOKを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/4002fb54-0385-c07b-e363-1faa9c1e5088.png)

「認証に成功」にチェックが入ったことを確認してしてOKを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/88a6ffc7-3297-19a7-9bc4-ee7c06f81f0c.png)

ダイアログが閉じると自動で更新され、DevOps Projectが表示されます。Clone対象のプロジェクトを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/245c4f8f-2dfd-908e-8774-45de99dbf87f.png)

プロキシ設定が正しくされていれば「リポジトリタイプ：これはGitプロジェクトです」と表示されます。「クローン」ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/f074ce68-737f-9df7-40f1-966842c2b53d.png)

Cloneに成功するとリポジトリが参照できるようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/172826/eae2045a-10af-e487-f46a-c2af57e58b47.png)

以上でSourcetreeの初期設定が完了しました。

# 参考資料

- [Sourcetree](https://www.sourcetreeapp.com/)
- [Connecting to VSTS - ATLASSIAN Community](https://community.atlassian.com/t5/Sourcetree-questions/SourceTree-3-Connecting-to-VSTS/qaq-p/922861)