VSTS(旧VSOnline)にコマンドを投げれなくてはまった(1)

普段、チームエクスプローラや外部アプリだとSourceTreeなどでGitリポジトリにアクセスしているので気にしていなかったのですが、ビルドの手順を自動化しようと思いPSスクリプトを書いて、「えいやっ!」と投げつけるとGitプルで停止して先へ進まなくなる、という現象に遭遇しました。

ちなみにスクリプトからではなく、コマンドラインから「git pull origin master」とかすると、ユーザ名とパスワードを聞かれますが、ログインに使用しているはずのMSアカウントのユーザ名とパスワードでは認証に失敗します。

この問題、Githubにおいているリポジトリだと再現せずに気が付くのが遅れたので、覚書程度に書き出しておきます。

といっても、結論を言ってしまうと、コマンドラインからVSTS(旧VSOnline)のGitに対してリクエストを投げる際には、予めBasic認証を有効にしておく必要がある、ということらしいです。

Git コマンド プロンプトからの作業 - MSDN

アップデートによって画面構成が若干変わっていますが、VSTSにログインして「My Profile」を選択し”Security”タブをクリック。

サブメニューの ''Alternate authentication credentials'' を選択して、”Enable alternate authentication credentials” にチェックを入れて、認証で使うユーザ名とパスワードを入力して保存します。

そうするとコマンド実行時に、先ほど設定したBasic認証用のユーザ名とパスワードを入力することで、認証が通るようになります。

が、PSスクリプトの方は相変わらず途中で停止してしまうという問題が・・・(続く)