ページ

ラベル Windows の投稿を表示しています。 すべての投稿を表示
ラベル Windows の投稿を表示しています。 すべての投稿を表示

2011-04-16

Synergy

以前からSynergyを使っていたのだが、少し前に開発が停止し、古いバージョンのまましばらく使っていた。ところが最近新プロジェクトが発足し、新バージョンが出てるということで試してみた。

Synergy

最初、調子にのってbeta版を入れたら、色々アレだったので、1.3系の最新にした。

自分の環境は、MacOSXをホストにして、Win7/64bitを操作したい。

synergyでキーボードによるscreenの切り替えを設定する方法を参照して書いた設定ファイルがこちら。



まあ、ホスト名には目を瞑ってほしいところ。

注意点としては、

1) Win7側でUACをオフにしておかないと、32bitアプリに触ることができない
2) MacOSXでもユニバーサルアクセスで、補助装置にアクセスできるようにするを有効にしておく必要がある

UACはウザかったので、当初からオフってたが、それでは問題のあるソフトが出てきたので、昨日からオンにしてた。そうしたら、あふwにフォーカスを移すことができず焦った。まあ、これは今後どんどん解決されていくのかな。

細かい支障はあるにせよ、便利なことには変わらないので、複数マシンを行ったり来たりする人は是非導入してみるといいです('ω`)

2011-03-28

gitとJenkinsの連携(Windows7/64bit)

絶対忘れそう(次にセットアップする際に同じ過ちを繰り返す可能性が高い)ので、メモる。


http://jenkins-ci.org/

Windows版のNative Packageを落としてインストール。


http://code.google.com/p/msysgit/

msysgitのFull Installerを落としてインストール。

ちなみに、この際、Windowsの環境変数PATHに、cygwinという文字列が含まれていると問題ありなので要注意(これで一日無駄にした)。


Jenkinsでジョブを作る。

Hudson氏の頃は、ジョブのワークスペースは、C:\Users\Hoge\.hudson\jobs\JobHogeに作られていたが、Jenkins氏はC:\Program Files (x86)\Jenkins\jobs\JobHogeに作るので要注意。これは、ワークスペースでビルドするツール等に空白を含むパスが渡されることを意味する。ショボいツールは一巻の終わりだ。

なので、プロジェクトの高度なオプションで、カスタムワークスペースより、空白を含まないパスを指定してやるといい。

#どうでもいいけど、jobなのかプロジェクトなのかはっきりしないんだな('ω`)


あ、と、その前にJenkins GIT pluginを入れよう。インストールは簡単。

インストール後、Jenkinsの管理 -> システムの設定からGitのパスを指定する。msysgitなので、デフォルトのままならC:/msysgit/msysgit/bin/git.exe(必ずスラッシュで!)を入れておく。


プロジェクトの設定で、gitのリポジトリを指定する……のだが、その前に、msysgit単体でリポジトリにアクセスできるようにしておく必要がある。具体的には、OpenSSHの設定。

環境変数を特に指定していない場合は、HOME/c/Users/Hoge等になっている(要確認)ので、$HOME/.ssh以下に、id_rsaというファイルで秘密鍵を設置。パーミッションはWindowsなので気にしなくて大丈夫。

msysgitコンソールから、

$ git clone git@hogehoge:hoge.git

として無事クローン出来ればおk。


で、プロジェクトの設定。ヘルプには、ssh://git@hogehoge/hoge.gitみたいに指定しろとあるが、実際はgit@hogehoge:hoge.gitで大丈夫。

しかし、Jenkinsをサービスとして動かしているアカウントでは、$HOMEがないので、手動で指定する。この環境変数は、msysgitによって参照されるので、Windowsパスでなく、/c/Users/Hogeのように(mingw?)指定する。


ここまでで、手動でビルド実行すると、ワークスペース以下にリポジトリがクローンされるところまで出来ているはず。


確認後、マスターのリポジトリのhooks/post-updateを、

wget -q -O /dev/null "http://hogehoge/job/hoge/build?delay=5sec&token=hogehoge&cause=gitcommit" || echo "failed."

とし、push後にJenkinsのジョブをキックするようにする。

ちなみに、ここで指定しているトークンは、プロジェクト設定 -> ビルドトリガ -> リモートからビルドで指定したもの。

ここでもヘルプに、「buildWithParameters〜と書け」とあるけど、buildでおk。

とりあえずこんなもんか。あとは好きなようにすればいい('ω`)