Bash on WindowsでRVMインストールからRuby on Rails環境構築まで
※検証環境はWindows 10 Pro Insider PreviewのOSビルド14352.1002です。
Bash on Windows(正確にはBash on Ubuntu on Windowsですね)の環境を作って壊してまた作る日々です。
ようやくrvmのインストールからRuby on Rails環境構築までが上手いこといくようになったので、備忘録的に書き起こしておきます。
まぁ正直、最初のバージョンからちゃんと動いてるっぽい*1ことも考慮するとrbenv使った方がいいんじゃないかな(以下Qiitaの記事参照)
rvmのインストール
まずはgitをインストール。
sudo apt-get install
curlはインストールされているようなので、そのままrvmのインストール。公開鍵の設定をしてからインストール実行。
curl -sSL https://rvm.io/mpapis.asc | gpg --import - curl -L https://get.rvm.io | bash -s stable
~/.bashrcの末行に以下を追加。
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
.bashrcを再読み込み。
source ~/.bashrc
一応rvmのバージョン確認を実行して正常にインストールされていることを確認。
rvm -v rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
Rubyのインストール
rvm経由でRubyのインストール。とりあえずバージョンは2.3.0を選択。
rvm install ruby-2.3.0
インストールが完了したら一応バージョン確認。
ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-linux]
Ruby on Railsのインストール
まずはnodejsのインストール。
sudo apt-get install nodejs
一応Rails環境用のgemsetを作っておく。globalが散らかってもいいという方はご自由に。
rvm gemset create rails rvm gemset use rails
環境作成用のディレクトリを作成して移動。
mkdir /mnt/c/BashOnWindows/src/rails/ cd /mnt/c/BashOnWindows/src/rails/
Railsのインストール。割とすんなりいけるはず。
gem install rails
おもむろにrails newする。プロジェクト名は任意で(ここではtrial01とした)
rails new trial01
作成されたディレクトリに移動してbundle installを実行。
cd trial01/ bundle install
で、エラー発生。
Unfortunately, an unexpected error occurred, and Bundler cannot continue. First, try this link to see if there are any existing issue reports for this error: https://github.com/bundler/bundler/search?q=parent+directory+is+world+writable+but+not+sticky&type=Issues If there aren't any reports for this error yet, please create copy and paste the report template above into a new issue. Don't forget to anonymize any private data! The new issue form is located at: https://github.com/bundler/bundler/issues/new
どうやらbashにおける新規ファイル作成時の付与権限がデフォルトのままだと「~/.bundle」ディレクトリに対する操作がうまく動かないらしい。 Bash on Windowsのissues専用GitHubで解決策を書いてくれています。ありがたい。
ということで、コメントに従って以下を実行。
umask 007 rm -rf ~/.bundle bundle install
正常に実行完了!お待ちかねのrails sを実行。
rails s
ブラウザを開いて「http://localhost:3000」にアクセス。無事に動いてます。
ちなみに/mnt/c/配下の領域に環境作成用ディレクトリを作成しているので、Windows側のVSCode等で編集できます。
これでRailsアプリケーションの開発環境が構築できました。本番環境へのデプロイ等々が心配な感じですが、そのあたりは順番に実験していきます。
疲れた。
HoloLensおさわり会 with OITECに参加しました
タイトルそのまま。未来に触れてきました。
みつばたん( @mitsuba_tan )こと、 slikyfeel の泉本CEOが個人所有のHololensを使って各地で体験会を開催してくださっています。 此度は OITEC との共催という形で岡山で開催していただけました。
会場はご存じKLab株式会社様の岡山事業所をご提供いたきました。これに限らず、岡山のコミュニティイベントでしばしば会場提供していただいており大変ありがたい限りです。
百聞は一見に如かずとよく言われますが、Hololensに関しては本当に被ってみないとわからないですね。
なので、あまり細かいことは抜きにして単純に当日のレポートと個人的な感想を少々。
当日のレポート
Hololens本体。重さ579g(タブレットぐらいの感じ)
このサイズ、重量でCPU、GPU、メモリ、バッテリー、各種センサー等々がオールインワン。配線も一切出ていない。謎の技術としか言いようがない。
Hololens自体がサーバーになって、そこにアクセスすることで管理画面を開くことができます。
この画面上でHololens装着者が見ている画を共有したり、リソースモニターを確認したりできます。
これのおかげで、実際に装着して体験できるのが一人ずつでも、みんなでワイワイしながら会が進行していたので非常に良かったです。
取得した部屋のメッシュが表示された画面。
Hololensを被って部屋をグルグルすることによって 部屋の形状をスキャンしてメッシュを作成してくれているのが確認できます。
Hololensを被りなおしても配置されたオブジェクトはそのままなので、後半はかなり散らかった状態に。
お片付けできない子供部屋の様相。
画面共有を見ないで被ってる本人だけ見るととっても不審者な図、その1。
その2。
その3。スーツだと怪しさ倍増ですね。
個人的な感想
被った瞬間は「話に聞いてた通り、ちょっと視野角が狭い?」と思いましたが、操作してるうちにほとんど気にならなくなりました。視界の真ん中に見えるポインタをマウスポインタ的に使って操作することもあり、正面の対象に集中しているうちに気にならなくなります。使うアプリケーションの性質にもよるとは思いますが、その辺りの議論はまだ先の話になりそうです。
とにかくオブジェクトの物体感がすごい!普通のウィンドウ表示ですら物体感がある。遠近感もそうですが、ウインドウ表示している板状(?)のオブジェクトを思わず掴みたくなりました。
サンプルゲーム的なもの(ジャンルとしてはアドベンチャーゲームかな)も体験させてもらったのですが、NPCが本当にその場にいるかのように見えました。NPCの立っている位置で声のする方向も変わるので、本当に隣に立って会話しているような感じ。あぁどんなに頑張っても文章では言い表せない…。
まとめ
Hololensは未来でした。何にしても実際に被らないとわからないと断言できるので、どうにかして入手していただく…のは難しいとして、今後他所で開催されるHololensおさわり会に参加されることをお勧めします。差し当たり、松山、名古屋、博多での開催が予定されているようです。
とは言え競争率が高いので抽選に当たることを祈る感じにはなりそうですね。
ちなみに、HololensのSDKやエミュレーター、Unityによる開発環境等々、Hololens用のアプリケーション開発も少しずつ見えてきているので、先んじてキャッチアップしたいですね。
とにかく単純に楽しかった!地方の開発者やコミュニティがモチベーション高く、最新のテクノロジーに立ち向かえるのはこういった会を企画・開催・協力してくださる有志の方々のおかげです。silkyfeel泉本様、KLab岡山事業所の皆様、OITECの皆様に最大級の感謝を。
Visual Studio Team Servicesでアラートを設定する
前回のエントリというか、ComCamp2016のセッションについて @kkamegawaさんからフォローアップしていただきましたので、早速実験してみました。
@sady_nitro それと、Alertからpull request発生した時にチームメンバーにpull requestメール飛ばせますよ。あれがもう少し柔軟になってくれると嬉しいのですが。
— kkamegawa (@kkamegawa) 2016, 2月 21
Team Foundation Server(TFS)を自前で運用しているときはお世話になっていたアラートの機能について、すっかり失念しておりました…。ということでVSTSについてもアラートの機能を使ってみることにします。
各プロジェクトページの右上にあるユーザーメニューから「My alerts」を選択します。
Alertsの管理ページが開きます。
「Send my alerts to (Edit…)」でデフォルトの通知メール送信先を設定します。
下段のBASIC ALERTSでは、あらかじめ用意されたイベントトリガーから使用したいものにチェックを付けることでそのイベント発生時にメール通知が飛ぶように設定できます。
一方CUSTOM ALERTSでは、あらかじめ用意されたイベントトリガーのクエリテンプレートを選択して、自分の好きなようにクエリを編集することで通知イベントをカスタマイズすることができます。
「A Pull request I have participated in is created or updated」を選択すると、以下のような画面が表示されます。
テンプレートでセットされているクエリ(条件式)を変更して、用途に合わせた通知イベントを作成します。
一番上に作成した通知イベントが表示されていることを確認できます。
より細かいカスタマイズについては、アラートの管理画面中段のリンク、もしくはプロジェクトページの右上にあるメニューアイコンから歯車のアイコンを選択して「Alerts」のページを開きます。
Alertsページではより詳細にクエリを設定することが可能ですので、通知イベントにかなり細かい条件を付けたい方はこちらから通知を作成することをおすすめします。
※2016/02/23追記:「My alerts」から入る設定では、基本的に自分宛にメール通知をする設定でしたが、Alertsページでは該当のメンバー全員にメールを送る通知イベントなんてものも作成することができます。
設定後、実際にプルリクエストを作成してみると…
無事にメール通知を受け取ることができました。
以前から、外部サービスと連携してイベント通知を飛ばす方法についてはご紹介していましたが、アラート機能を使ったメール通知についても、結構細かい条件を設定できるので、非常に便利だと改めて感じました。職場では外部サービスが使えない、外部サービスの登録からService Hooksの設定までやらないといけないのが面倒など、場合によってはアラート機能の方がマッチするケースも結構あるのではないかと思います。
ということで、皆様必要に応じて通知機能をチョイスしていただければと思います。
ComCamp 2016 Powered By MVPs 岡山会場でVSTSのお話をしてきました
去る2016/2/20にComCamp 2016 Powered By MVPsというMicrosoft & Microsoft MVPsによる無料のIT勉強会が開催されました。
私も岡山会場にて「Visual Studio Team Services スモールスタート」というタイトルでセッション担当させていただきました。 きよくらさん( @kiyokura )と2人体制のセッションだったので割と気持ちは楽だったのですが、諸事情によりトークボリューム的には 7、8割方私がしゃべることに。
セッション中、アンケート的に「VSTS知ってる方、使ってる方はどれくらいいらっしゃいますか?」「じゃあTFSは?」という 投げかけをしたところ、約50人の参加者の方で挙手をいただいたのはパラパラと数名…。 やはり中身どうこういう前に製品・サービスの認知度が低いのも課題かなと感じました(まぁ参加者の方が皆様shy boyだった可能性もありますが)
とはいえ、本セッションはそういったVSTS自体をよく知らない方もターゲットとして、出来るだけ導入のハードルを下げるための内容だったので ある程度の成果はあったと信じたい。
セッション資料についてはDocs.comにアップしておりますので、必要に応じてご参照いただければと思います。
また、懇親会と兼ねる形でなだれ込ませていただいた「座駆動LT大会20160220」でもLT発表させていただきましたが、開始前のプロジェクタートラブルと そのあとのトップバッターだったこともあって誰も覚えてないんじゃないかな…。まぁビールクズの与太話なので特に問題ありません。
今後も実業務でVSTSの運用は続けていきますし、そこで得た知見や独自に調査・研究した内容をブログ等で発信できればと考えておりますので何卒よろしくお願い致します。
Visual Studio Team Servicesのユーザー追加とステークホルダー
Visual Studio Team Services(VSTS)のライセンス周りを調べているうちにVSTSのユーザー管理やユーザーのアクセスレベルに関する情報があまりまとまってないように感じました。 いや、情報はあるんですけど "日本語のドキュメントで" 実際に利用する際の手順というか時系列に沿ったチュートリアルみたいなものが無いように思いまして。 ということで、VSTSのユーザー管理の入り口として、ユーザー追加とチームメンバー追加について解説します。ついでにアクセスレベルが「ステークホルダー」のユーザーについて軽く解説します。
ユーザーの追加
VSTSのホーム画面から「Users」の画面に移動します。
「Add」をクリックすると、追加したいユーザーのアドレスとアクセスレベルの設定フォームが表示されます。
アクセスレベルについては以下の3種類が存在します。
- Basic
- 基本ライセンスのレベル
- 5ユーザーまで無料
- Stakeholder
- ステークホルダー(利害関係者)ライセンス
- 利用可能な範囲は一部機能(主にタスク管理の機能)に限定される
- 開発者以外の関係者をユーザーとして割り当てることができる
- Visual Studio/MSDN Subscriber
ここではStakeHolderレベルを選択します。
「Send Invitation」をクリックすると、一覧に追加したユーザーが表示されます。
ユーザーの追加が完了すると、追加されたユーザーのメールアカウントに対して以下の様なメールが送られます。 「Join」をクリックするとVSTSのホームが開きます。
ホーム画面まで開くことができましたが、このままではまだプロジェクトのページにはアクセスできません。 プロジェクトのページへのアクセス権限は各プロジェクトの設定で追加する必要があります。
チームメンバーへのユーザー追加
プロジェクトのホーム画面(ダッシュボード)に「Team Members」のパネルが配置してある場合はそこからチームメンバーの編集画面を開きます。
チームメンバーの編集画面でAddをクリックします。
メンバーの追加画面で、追加したいユーザーのアカウント名を入力して「Save Changes」をクリックします。
対象のユーザーがチームメンバーとして追加されます。StakeHolderレベルのユーザーを追加するとやたらと長いNOTEが表示されますが「このユーザーはステークホルダーライセンスが割り当てられています。ユーザーハブからライセンスの変更ができます。」的なメッセージなのでとりあえず放っておいて問題ありません。
因みにダッシュボードのパネルからだけでなく、プロジェクトページの設定からも同じ画面を開くことができます。 右上の歯車アイコンをクリックします。
プロジェクトの設定ページが表示されたら、対象のチーム名をクリックします。
チームの詳細画面が開くので「Members」タブ内のAddをクリックすると上述と同じ画面が開くのでメンバーを追加します。
ステークホルダーユーザーでプロジェクトページにアクセス
ユーザー追加&チームメンバー追加が完了すると対象のユーザーでプロジェクトのページにアクセスできるようになります。 VSTSのホーム画面で「Browse」をクリックして、対象のプロジェクトを選択します。
プロジェクトページでメニューを確認すると「CODE」が使用できないことがわかります。 ステークホルダーユーザーは使用できる機能は主にタスク管理機能に限定されています。 ここではバックログアイテムを新規に作成してそれにリンクしたタスクを作成できることを確認します。
ホーム画面から「WORK」をクリックして、タスク管理の画面を開きます。 バックログアイテムの画面で「New」のタブを開いてTypeに「Product Backlog Item」を選択して、Titleに任意のタイトル(要件の概要的なもの)を入力してAddをクリックするとBacklog Itemが作成されます。
追加されたバックログアイテムを開きます。
バックログアイテムの詳細を確認できます。右寄りに配置されているメニューから「New Linked Work Item」を選択すると、バックログにリンクしたタスクやバグのアイテムを作成できます。
ここではWork Item Typeに「Task」を選択し、任意のタイトルを入力して「OK」をクリックします。
作成されたタスクの詳細が開きます。
このようにステークホルダーユーザーでもタスク管理機能についてアイテムの閲覧だけでなく作成や編集も可能なので、 開発者以外の関係者に対して要望の集約や課題管理の為に利用することも可能ですね。
ステークホルダーが利用可能な機能の詳細は、以下のページを見たほうがわかりやすいかと思います。Basicライセンスとの対比表になっています。
Visual Studio Team Services Feature Matrix
以上、後半雑な感じになりましたが、VSTSのユーザー管理についてはじめの一歩的な解説でした。