TFS でビルド時にアプリケーションのバージョン番号に日付とビルド回数を設定する

したいこと

  • MSBuild でバージョン番号を付与したい

  • 今回設定したいバージョン番号

    • ApplicationVersion=1.0.20170926.1
1  0  20170926  1
-  -  -         -
|  |  |         |
|  |  |         `-- その日にビルドした回数(翌日にリセット)
|  |  `------------ ビルドした日付
|  `--------------- とりあえず固定
`------------------ とりあえず固定

TFS で使用できる変数について

$date=$(Get-Date -Format 'yyyy-MM-dd');

Write-Host "##vso[task.setvariable variable=date]$date"
  • この PowerShell をタスクの一つにして、起動すれば、$(date) でビルド時に使用可能

その日のビルドした回数はどうやって取得するか

    $buildNumber = $env:BUILD_BUILDNUMBER
    if ($buildNumber -eq $null)
    {
        $buildIncrementalNumber = 0
    }
    else
    {
        $splitted = $buildNumber.Split('.')
        $buildIncrementalNumber = $splitted[$splitted.Length - 1]
    }
  • $(Build.BuildNumber). で分割した2つ目から取得できそう

  • じゃ $(Build.BuildNumber) の1つ目が何か出力して確認してみる

20170926.1 
  • 自分が欲しい値そのままではないか。。。

まとめ

というわけで、今はこの設定でビルドしてる

/p:ApplicationVersion=1.0.$(Build.BuildNumber)

SourceTree で rebase してコンフリクト解決してすぐコミットしてしまったとき

qiita.com

上記の記事を参考にして、rebase -> コンフリクトの解決をしてたんですが、

特に手順5の後にコミットメッセージを入力してコミットしてしまうというミスを犯しやすいので注意が必要です。

これをやってしまいました。

SoureceTree からの解決方法が分からなかったので、コマンドから rebase を無かったことにしました。

1.コマンドで確認

$ git status
On branch fix-branch
You are currently rebasing branch 'fix-branch' on 'e114a18'.
  (all conflicts fixed: run "git rebase --continue")

nothing to commit, working tree clean

2.rebase中でコンフリクト解消したから、git rebase --continue を実行してみる。

$ git rebase --continue
Applying: コメント
No changes - did you forget to use 'git add'?
If there is nothing left to stage, chances are that something else
already introduced the same changes; you might want to skip this patch.

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

3.対応方法がよく分からなかったので、rebase を無かったことにしようと git rebase --abort を実行。

rebase 中止して最初からやり直しました。

GitHub勉強会 in Kanazawa に行ってきた

connpass.com

メモ

感想

  • GitHub を中心に開発を行うってことが世界中でスタンダードになってきていると感じた
  • ただし、それはまだごく一部であって、どうやって今後 今も残るバージョン管理?なにそれ?みたいな企業が、自分で気づいて普及していけるかが大事
  • それをサボった企業とかに魅力はなくなってくよ(GitHub にかぎらず)

@wtnabe 氏のツイートを肝に銘じてく

Windows10 に Go インストール

環境

  • Windows10 64bit
  • Go 1.9

インストール

Downloads - The Go Programming Language

go1.9.windows-amd64.msi をダウンロード

インストールフォルダーも C:\Go\ のまま続行

インストールが完了すると GOROOT(C:\Go\), PATH(C:\Go\bin) 共に設定されているので、 コマンドプロンプトを起動して go コマンドを入力すると、help が表示される。

GOROOT とか PATH を自分で設定して、OS再起動必要みたいなブログもあったけど現在バージョンでは不要みたい。

あと、GOPATH っていう変数の設定が必要みたいだけど、Helpで確認すると設定されていない場合はホームディレクトリになるみたい。

>go help gopath

If the environment variable is unset, GOPATH defaults
to a subdirectory named "go" in the user's home directory
($HOME/go on Unix, %USERPROFILE%\go on Windows),
unless that directory holds a Go distribution.
Run "go env GOPATH" to see the current GOPATH.

とりあえず最初はこのまま。

Visual Studio Team Services のリモートブランチが Visual Studio に表示されないとき

環境

現象

Visual Studio Team Services にリモートブランチを作成したけど、Visual Studio の チームエクスプローラーに表示されなくて、 リモートブランチを clone 出来ない

対応

チームエクスプローラーの同期メニューで上部のフェッチをクリックすると表示される。

入力方向のコミットの下のフェッチではない。

参考 stackoverflow.com

Visual Studio Team Services にアクセスできない現象が発生した

昨日の夕方ごろから Visual Studio Team Services にアクセスできない現象が発生していた。

visualstudio.com が DNS で名前解決が出来ていない。
Twitter で確認すると同じ状況の人が何人か確認出来た。

今朝は回復していたが、お昼頃にアクセスできなかった。

対応状況については下記を参照
blogs.msdn.microsoft.com

東京リージョンに悪さする DNS があったのが原因。

8/3 19:54現在は、復旧してアクセス出来ている。

Jenkins でメール送信するときに送信者が「まだアドレスが設定されていません。 <nobody@nowhere>」となるけどどこで設定変えるの?ってなったとき

Jenkinsの管理 -> システムの設定 -> Jenkinsの位置 -> システム管理者のメールアドレス

で変更できる。

「E-mail 通知」とか「拡張E-mail通知」の設定項目見てたけど、全然違った。