windowsで、Ansible on cygwin with zshを手軽に動かす。


はじめに

サーバー側は実験もあり。動きさえすれば、多人数で共有可能。クライアント環境はなるべく即戦力ありきで。個別のクライアント環境がバラバラで、汎用化しにくい。ということで、以下、作業を初めてから無駄な苦労なく1時間以内に、windows上で、Ansibleとzshが動くcygwinを用意できるであろう手順を記す。目標は、あえていえば、mac並みのクライアント環境をwindows上にも整えること。

検証環境はwindows10 pro(64bit版)

理由は、人柱中なもので。windows7以上の環境では、基本的に動作すると思う。

エディタ周りとかについては省略。

特記事項あれば、追記したい。

目的 複数のサーバーの設定をAnsibleでいじりたい。

  • Ansibleは、Linux上のPythonで動作。ローカルでAnsibleを動作させるのが簡易(委細は、)
  • Windows上では、boot2dockerなどVMを活用したLinux環境が盛んだが、動作しない場合の検証がめんどうになりがち(boot2docker/Docker/Virtualbox..のどれが悪さをしている・・?)

シンプルな解@2015年夏

  • Ansible入りcygwin.zip [32bit版]  をここからダウンロードさせてもらう。
  • 解凍する(解凍先はc:\cygwinを推奨)とansibleが即動作してくれる[やることはダウンロード+解凍のみ]=> 以下、これを"本ツール"と呼ぶ
  • ご好意による作なので、今後のバージョンアップ時はまた、考える[せっかくなので、cygwinの最低限の知識を得ておけば、今後にも対応しやすくなるはず]

Windows(10)と親和的な環境つくり

cygwin-ansible.batにPathを通しておく(例えば、管理者モードのコマンドラインで以下を実行):

setx /M PATH "%PATH%;c:\cygwin"

以降はコマンドラインで以下を実行し起動:

cygwin-ansible

cygwinのバッケージ管理ツールapt-cygを動作するようにする。

本ツールを解凍した当初は、apt-cygが正常動作しない。近時のapt-cygをめぐる状況と対応方法については、Cygwinでapt-cygを使うにまとめてくれている。
すなわち、cygwin-ansible.batを管理者権限で立ち上げ、リンク先通り、apt-cygの現開発者のサイトからwgetして、一連の手順を踏むだけでapt-cygは(当座は)動作する。

wget https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg
chmod 755 apt-cyg
apt-cyg -m ftp://ftp.iij.ad.jp/pub/cygwin/ update

./apt-cygでzsh等をインストールする

カレントディレクトリでとりあえず動作させると、zshがインストールされる。

./apt-cyg install zsh

もともと入っているapt-cygとの関わりをどうするかは、apt-cygをどのくらい使うのかも見据えつつ、対策。apt-cyg install curlでcurlが入らなかったりとかあったので、apt-cygには過度の期待を抱かないのが良いのでは、と思う。

[付記] python2.7系のエコシステムも活用可能

ansibleは、python上のツールなので、当然本ツールでは、pythonのエコシステム(pip等)が動作する。
これを機会にpydata等のツールを試すのはありかもしれない。

例えば,以下は本cygwinで動作

pip install bottle

インストール後は、ここに従い、bottle webフレームワークがwindowsローカルで立ち上がった。少なくともwindowsユーザーがpythonの何かを試す際には役立ちそう。