Visual studio team services とjekyll

less than 1 minute read

jekyll のブログ書くときに別のpcでもできるようにしたい
ということで環境構築どうするの

あとこの記事アップで別pcからの記事編集、アップのテストとする

環境構築

バージョンコントロール

push したり pull したりなんやかんやで手動コピペしないで簡単に同期をとったりしたい。

自前で鯖用意したくない。めんどう。

よし、そこで Visual Studio Team Services だ

Visual Studio Team Services でプロジェクト作って、そこで
バージョンコントロールを git でリポジトリつくって管理しよう。

Visual Studio Team Services

jekyllのリポジトリを全部入れておく

Git

Git の説明はここではしない。探せばいくらでも見つかる。

TFVC

一応 git 以外に
team foundation version control
という仕組みでバージョン管理もできるよ。
git とは全然違う仕組み。git は分散型とかいうけど TFVC は中央型とかいう。
中央型は中央で管理してくれるからたとえばだれがどのファイルを編集中かとかわかる。
ファイルごとに編集のロックがかけられるからほかの人が弄れないように編集ロックしてから編集して、おわってから同期したら複数のユーザーが同時に編集するのを防げたりできる。(ロックは任意だしロックには種類がある)

実際には

最新の取得(中央からデータとってくる)->
チェックアウト(編集の前に行う。必要ならこのときロックする)->
編集->
チェックイン(編集の後に行う。中央に反映される。ロックされている場合このタイミングで解除される)

という流れ

TFVC は git と違ってリポジトリに新しいファイルを自動で追加してくれないみたい。初期設定では。なにか設定があるかもだけどあれば教えてください。

チェックイン、チェックアウト、ロックはおもしろい仕組みだとおもったけど、 手動でファイル追加するのがだるすぎた

jekyll

jekyll は ruby で動いているわけだからまずは今まで使っていたバージョンのrubyをインストールして、 さっき作った Visual Studio Team Services のリポジトリから pcの jekyll のブログを格納したいディレクトリにクローンしちゃおう。 Visual Studio Team Services は ブラウザからプロトコル使ったリンクのボタンから簡単にvs立ち上げとクローンができるのだ

あとは必要なgemを入れるために gem install bundler bundle install これで同じように動いてくれる環境ができる。 間違っても bundle updateはしないように。使うバージョンが変わってしまって不具合がでるかもしれないので。 bundle update は Gemfile.lock を見ていじっているみたいなので そこで手動で Gemfile.lock を編集してバージョンを正しても直せるとはおもう

コマンド覚えたくないさん

git って学習コストあるよねぇ。ちょっと面倒な気が・・・

でも visual studio から git を使うときはプルやプッシュ以外に同期という言葉があってわりとなんとなくできるようになっているとおもったよ。 以前は git 使うときは gitextensions ばかり使っていたのだけど、 gitextensions だとプッシュにエラー吐かれるときでも vs だとなぜかうまくプッシュできたりして結構挙動が違うのだなぁとも。

gitextensions と visualstudio

gitextensions は git のことだけに大きなウィンドウでUIで扱えるからそこが気に入っているよ。
コミットのボタンも大きくてわかりやすくて色によって保留中の変更があるかないかはっきりしててグッドだもの。
vs は git 以外の機能が多すぎるからね・・・・ごちゃごちゃしてる感はある。
でも、どっちかだけ使うって感じでもないかな。
visual studio って重いし、使わないけどgitは使いたいときだってあるし、 だから使い分け大事よね

用語

visual studio team services を今回使ったけど、これ調べていると似たような名前がでてきてややこしいのでまとめます

  • visual studio team services
    今回使ったサービス。github とか bitbucket とかみたいにソースを置けてgitが使える。機能はほかにもたくさんあるけどそれは今回は扱わない。
    team foundation services がパワーアップして名前変わったみたいな感じ。たぶん。

  • team foundation server
  • team foundation services
    team foundation server が使えるサービス
    visual studio online の一部

  • visual studio online
    こいつがのちのvisual studio team services

  • team foundation version control
    team foundation server で使えるバージョン管理。中央型。TFVC

ぶっちゃけ TFVC と visual studio team services だけわかればいい。(

Comments