Check! chocolatey で Azure に Windows 作業環境を手早くつくる！


こんばんは、[cloudpack][] の @dz_ こと[大平かづみ][]です。

Prologue - はじめに
===============================================
私物マシンは Surface 2 を愛用しています。軽量かつバッテリーの持ちが非常に長く、いつでも作業できて重宝しています。(ブログ記事もほとんど Surface で書いてます。)
そんな愛機ですが、唯一困っているのが SSH … 結局、とある IaaS に Windows を立てて作業環境にしています。

ぽちぽちインストールしている私を不憫に思い教えてくれた、作業環境を作るのに便利なパッケージ管理ツール [chocolatey][] の習得にチャレンジ！

実は…
============================================
実は、素のインスタンスを準備してる間に、面倒になって、試しに IaaS 起動時のスクリプトとして渡してみたら、ら、あら？

おおおお！
好みの環境がプリインストールされた開発環境ができちゃいました！！

これ、みんなやってる自動化じゃないですかーーー！！！
ぎゃー！ 大興奮。

 (ぶっちゃけ、ここまですんなりうまくいくと思わなかったので一人でわたわた喜んでいますw)

ってことで、作業記録がてら書きます☆

chocolatey とは？
==============================================

- Windows のパッケージ管理ツール
- 利用方法
    - コマンドプロンプト
    - PowerShell
    - NuGet (.NET を含む Microsoft 開発プラットフォームのパッケージ管理ツール)
- yum や apt-get のように使える

インストール手順
--------------------------------------
### chocolatey 本体をインストールする

今回は、PowerShell を利用します。

1. 管理者で PowerShell を起動して、以下のコマンドを実行するだけ！

```ps1
# chocolatey 本体をインストール
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
```

### chocolatey でパッケージをインストールする
[パッケージ一覧][chocolatey-packages] からインストールしたいパッケージを捜し、コマンドを実行するだけです。

![20150206_chocolatey_002.png](https://qiita-image-store.s3.amazonaws.com/0/3812/46c2e07b-559e-a22f-26b9-e192a7539cee.png)


```ps1:サンプル
# Google Chrome 64bit 版をインストール
choco install google-chrome-x64

# Sublime Text 2 をインストール
choco install sublimetext2

# Putty をインストール
choco install putty
```
これだけらしいです！

起動してからなんて待ってられない、起動スクリプトに流す！
===================================================
私の場合は、デスクトップの延長で使いたかったので、サーバーではなくデスクトップ版のWindowsインスタンスを使います。
気まぐれで [Microsoft Azure][] を使います。

さぁインスタンスを作ろう と準備中に、こんな画面が…
![20150206_chocolatey-into-azure_002.png](https://qiita-image-store.s3.amazonaws.com/0/3812/8678964c-239c-a279-c1d7-fa75e190ad98.png)

これはまさか、本体インストールとパッケージインストールのスクリプトを渡せば、起動と同時に環境がそろっているという夢の自動化ができるのか！チャレンジ！
![20150206_chocolatey-into-azure_003.png](https://qiita-image-store.s3.amazonaws.com/0/3812/db93b33c-f320-a7f0-c241-3dd9530cfdc4.png)

```ps1:choco.ps1
# chocolatey本体のインストール
iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))

# 好みのパッケージをインストール
choco install google-chrome-x64
choco install sublimetext2
choco install putty
```

そして、しばし待ちます、ちくたくちくたく

管理ポータルで起動が落ち着いたか見てみましょう。
![20150206_chocolatey-into-azure_001.jpg](https://qiita-image-store.s3.amazonaws.com/0/3812/622d382d-111e-41ac-8131-093c52a3dffd.jpeg)

さぁ、そろそろ！

![20150206_chocolatey-into-azure_004.png](https://qiita-image-store.s3.amazonaws.com/0/3812/5e144fd8-7476-42ac-2042-fc2d9025d36b.png)

見事！
起動直後にほしいアプリケーションがインストールされていることが確認できました～！ :octocat: 
ばっちりです！

Epilogue - おわりに
===============================================
こんなに簡単にできちゃうんだなぁ… (興奮冷めやらぬ… :sparkles: )

みんなを真似てもっとごにょごにょしたいなーっ！ :octocat: 


近況
===================================================

Phalcon関連
---------------------------------------

- [爆速フレームワーク!! Phalcon PHP Framework](
http://qiita.com/dz_/items/55ae18f7fe3a873bace1 "爆速フレームワーク!! Phalcon PHP Framework")
- [Meet Volt ! Phalcon 謹製テンプレートエンジン Volt - from 第71回 PHP勉強会](http://qiita.com/dz_/items/974a90b32ba6a6e38182 "Meet Volt ! Phalcon 謹製テンプレートエンジン Volt - from 第71回 PHP勉強会")
- [Meet Phalcon! - Phalcon PHPフレームワークを Nginx on Amazon EC2 にインストール！](http://qiita.com/dz_/items/e70d61487224b854b971 "Meet Phalcon! - Phalcon PHPフレームワークを Nginx on Amazon EC2 にインストール！") ← :new: :sparkles: 

技術ブログ寄稿
-----------------------------------------

[cloudpack技術ブログ][cloudpack-blog]でも、AWS Lambda や 運用ツール Serf に関して記事を書いています。ご興味あれば読んでいただけると嬉しいです！

- <a href="http://blog.cloudpack.jp/author/oohira/" title="大平 かづみ の記事一覧 | cloudpack技術情報サイト"　target="_blank" rel="nofollow">大平 かづみ の記事一覧</a>


[cloudpack]:https://cloudpack.jp/ "cloudpack（クラウドパック） 400社を超える導入実績! EC2などAWSクラウドの導入設計、構築、運用保守サービス"
[cloudpack-blog]:http://blog.cloudpack.jp/ "cloudpack技術情報サイト"
[大平かづみ]:http://blog.cloudpack.jp/author/oohira/ "大平かづみの記事一覧"

[chocolatey]:https://chocolatey.org/ "Chocolatey"
[chocolatey-packages]:https://chocolatey.org/packages "Chocolatey Packages"
[Microsoft Azure]:http://azure.microsoft.com/ "Microsoft Azure"