ちょっと前にMemoryMappedFileを使うことがあったのですが、「確保したサイズを超えないようにチェック処理を追加しようとしたらどうなる?」ということを思いついたので、サンプルをC#で作成。
LinuxのEclipseからVisual Studio Onlineに接続!
またもや無更新の日々が続いております<(_ _)>
早速ですが、タイトルの内容に??と思われた方いらっしゃると思います。
EclipseからTeam Foundation Server/Visual Studio Online(VSO)に接続するには、Team Explorer Everywhere(TEE)があり、TEEはWindows以外のOSでも動作しますので、Linuxからでも接続できるのです。
しかし、実際に接続しようとすると、なぜかLinux(自分の場合はCent OS 6.3)からVSOに接続するときだけ、認証画面で止まっていました。
(WindowsのEclipseからはちゃんと接続できますし、LinuxのEclipse+TEEからオンプレミスのTFSに接続したり、FireFoxで直接VSOのチームプロジェクトサイトには接続できるのにです。)
一部の噂では、追加ライブラリを入れれば動作するらしいのですが、Linux力が全くない私ではどうすることもできず、あきらめていました。(;´Д`)
ところが、忘れていたころにConnectから「直したよ~ん」とのメールが。
早速最新版を入れてみたところ、ちゃんと接続できるようになっていました!!
○VSOへのサインイン画面。前はこの画面のままか、真っ白な画面の状態で止まってました
○項目(これはProduct Backlog)も日本語で参照できてます
最新版のダウンロードはこちらから。
おそらく(自分を含め)、LinuxからTEEでVSOを使う方はほとんどいらっしゃらないと思いますが、これで本当に「Everywhere」になりました。
TFServiceでのビルド中に外部プログラムを実行する
ネット上でこんな話が出ていたので、ちょっと確認してみました。
せっかくTFServiceのBuildサービスでWindowsストアアプリのビルドができるようになったので、ストアアプリのプロジェクト(WinStorApp01)を作成。
TFService上でチームプロジェクト(StoreAppTest1)を作成し、とりあえずチェックインします。
外部プログラム格納用フォルダとして「Utils」フォルダを作成し、引数に指定された文字列をファイルに出力するバッチファイル(TestWrite.bat)を追加します。
フォルダ構成はこんな感じ。
プロジェクトのビルド時に外部プログラムを実行する場合、一番簡単なのはプロジェクトのプロパティで、「ビルドイベント」に実行したいプログラムを指定しておくことです。
今回は、ビルド後に作成したバッチファイルを実行させてみます。
実際にビルドを実行すると、出力結果フォルダにファイルが作成され、「"The End!"」が出力されています。
※今回はビルド定義でステージング場所を「Drops」にしています。
ここで注意点が3つあります。
1つ目は、フォルダ構成の指定を勘違いしないことです。(自分がボケてただけですが)
編集画面でフォルダの位置などを「マクロ」で指定することができます。
ビルドサービスではどのフォルダで実行されるか不定ですので、相対パスで記述するためにマクロで記述するほうがいいのですが、自分が勘違いしていたのが「$(SolutionDir)」の扱いです。
「$(SolutionDir)」はVSのソリューションフォルダのことですが、TFSのチームプロジェクトフォルダは「$(SolutionDir)」の親になりますので、「StoreAppTest1\Utils」を参照するためには、「$(SolutionDir)Utils」ではなく「$(SolutionDir)..\Utils」(←「..\」を追加)と指定する必要があります。
チームプロジェクト内にVSのソリューションが1つだけなら、ソリューションフォルダ配下においてもいいのですが、チームプロジェクト内に複数のVSソリューションが存在する場合はソリューションごとに配置する必要が無いので、今回のようにチームプロジェクトフォルダ配下に置いたほうがいいかなと思います。
2つ目は「日本語が通らない」ことです。
引数の「"The End!"」を「"終わった"」と指定してみたのですが、出力結果が「"?????"」といった感じで化けてしまいました。
3つ目は、ビルド定義の作業フォルダに、「Utils」を追加するのを忘れないことです。
(自分は追加し忘れてて「パスが見つからない」と怒られました^ ^;)
インストーラーでインストールしなくても実行できるプログラムであれば、こんな感じで動かせるようになります。
Team Foundation Service 正式稼働!
11/1、ついにTeam Foundation Serviceが正式稼働しました。
(これのおかげで少し寝不足ですw)
URLも「~.tfspreview.com」から「~.visualstudio.com」に変更されていますが、今までtfspreview.comで作成されたプロジェクトはそのままvisualstudio.comに移行されています。
11/1現在では以下の内容で稼働しているみたいです。(英語ちゃんと読めません><)
○今は無償プランのみ。
・5ユーザまで
・作成プロジェクト数制限なし
・バージョン管理
・作業項目管理
・アジャイルプランニングツール
プロダクトバックログリストとかタスクボードとか
・フィードバック管理
・ビルド(Preview)
追加プランと価格は2013年まで待ってw
○6人以上で使いたいときは?
→今だけは使える。2013年には有償プランへの移行ガイダンス出すよ
○今は誰でも無償だけど、MSDNサブスクリプション持ってれば、2013年以降も無償で使える。
○接続できるのは?
Visual Studio 2010/2012
Visual Studio Express 2012 for Windows 8/Windows Desktop/Windows Phone 8/Web
Visual Studio Team Explorer Everywhere 2012
Xcode+Git-TF
→何でも使えるw
○ビルドは課金される?
→今はプレビューだから無償。将来的には月単位でビルドした量に応じて課金される。
(追加料金対応可能)
ほんのちょっとだけですが、さわってみました。
・ブラウザで、タスクボードを使って作業項目を操作。
「サンプルプロジェクト作成」という作業項目を"PROPOSED"(提案)から"ACTIVE"にドラッグしている最中です。こんな操作がブラウザでできるのがいいですね。
・Eclipseからアクセス
Eclipse(+Team Explorer Everywhere 2012)からもアクセスできてます。
ちょっとだけ引っかかったこと。
・プロジェクトコレクションの"Project Collection Valid Users"(一般ユーザグループ?)にユーザが追加できない
管理者グループである"Project Collection Administrators"にはユーザ追加できるのですが、"Project Collection Valid Users"に対してユーザ追加しようとすると、
と怒られてしまいます。
(プロジェクト別のユーザ追加は問題ないです)
・1ユーザで1つだけサイトのオーナーになれる。複数のオーナーを兼任することはできない
ユーザAでサイトを作成する→オーナーをユーザAからユーザBに変更する→ユーザBでサインインする→サイト作ってくれと言われるので作ってみる→エラーになる
サイト作成時のエラー。
オーナー変更がすぐに反映されないっぽいので、それが問題かもしれませんが。
TFServiceはちょくちょく改善されてますので、これからも目が離せません。
Team Explorer Everywhere 11 Betaを入れてみました
ちょっと時間が空いたので、Windows 8 CP版にEclipse 3.7(Indigo)を入れた環境に、TEE11 Betaを入れてみました。
インストール方法は、TEE2010と変わりないので割愛します。
まずは、VS11とTEEのチームエクスプローラーを比較してみます。
「担当作業」と「PreEmptive Analytics」以外は同じ感じで表示されます。
担当作業がないのはちょっと残念でした。
意外と日本語で表示されますw
青丸で囲みましたが、「1つ前に戻る」という操作方法も踏襲されています。
「チームプロジェクト」では
・ソース管理
・ポータルの設定
が、「チームプロジェクトコレクション」では
・ソース管理
・プロセステンプレートマネージャー
が使えないみたいです。
これを見ている途中で、某エバから「TEEでは2010版のチームエクスプローラーも使えます」という神の声があり、表示してみるとまんま2010版でしたw。
「Feedback Reqests」があるので、接続先はTFS11ですw
これを表示する方法ですが、一時的にはメニューから「Window」-「Show View」-「Other…」を選択します。
ビュー一覧から「Team Foundation Server」内の「Team Explorer」を選択すると表示されます。
使用頻度が高い場合には、ちょっと設定すればもう少し簡単に表示できます。
TEE11のパースペクティブを表示している状態で、TFSのパースペクティブを右クリックして「Customize…」を選択します。
「Menu Visibility」タブ内の「Window」-「Show View」-「Team Explorer 2010」のチェックをONにします。
その後、Eclipseのメニューで「Window」-「Show View」のところに「Team Explorer 2010」が追加されていますので、これを選択すると2010版のチームエクスプローラーが表示できます。
TEE11もまだBetaですが、2010版のチームエクスプローラーも使えるので、今TEE2010を使用されている方は正式版が出た後ですぐに乗り換えても、今の運用にはまったく影響を与えず、かつTFS11にバージョンアップしたときにもすぐに対応できるというありがたい内容になっています。
TechEd 2010 Japan終了
TechEd2010が終了しました。
どうも、今年は「Blogを書くまでがTechEd」ならしい。
今年のTechEdの感触。
・Level300以上のセッションのみ
→聞きごたえがあります。これこそTechEd。
・Azureメイン
→参加前は「あんまりなぁ~」って感じでしたが、Azureスペシャルセッションで「へぇ~そうなんだ」という感じになりました。ちなみに、洗脳はされてません。(笑)
・セッション内容?
→今までは「MSは~です」という感じだったような気がするのですが、今年は他社のことがバシバシ出てました。←大丈夫だったんでしょうか?
・AttendeeParty復活
→これがないと盛り上がりに欠けますね。
・Twitter Power
→去年もTwitter上でいろいろ流れていたようですが私はやってませんでした。
今年の#techedjpはすごかったです。
自分が出てないセッション情報が出ること出ること。
個人的には前夜祭・後夜祭もあり、今までの中では一番盛り上がったTechEdでした。
もちろん、来年も行きます!
とりあえず、当面はTFS・仮想化ネタですね。
りばてぃさんのTFS2010連載 その3
@ITにりばてぃさんの「第3回 Team Foundation Server 2010で一歩先行くソース管理」が掲載されています。