はじめに
本稿では、MacでC#によるWebアプリケーションを作成し、Linux上のDockerにデプロイする方法について紹介します。なお、現時点ではプレビュー版であり、不具合が発生したり、利用方法が変更される可能性があることをご了承ください。
筆者が動作確認した環境のバージョンは以下のとおりです。
ソフト | バージョン | 用途 |
---|---|---|
Mac OS X | 10.10.3 | 開発端末 |
Visual Studio Code | 0.5.0 | 開発エディタ(詳細は『マイクロソフトのクロスプラットフォーム対応新コーディングツール「Visual Studio Code」』を参照) |
HomeBrew | 0.9.5 | パッケージ管理。.NET Version Managerのインストールに使用 |
.NET Version Manager | 1.0.0 Beta6 | .NETのバージョン管理に使用 |
Node.js | 0.12.2 | Yeomanの実行に必要 |
Yeoman | 1.4.6 | ASP.NETアプリのひな形作成に使用 |
CoreOS Stable | 717.3 | サーバー用OS |
Docker | 1.5.0 | 実行環境用コンテナ |
私見ではありますが、Microsoftテクノロジーの魅力は、生産性が高いC#言語と、機能が豊富な.NETのクラスライブラリ群ではないかと考えています。
これまで本番サーバーにLinuxが採用されていた場合、開発言語はJava、PHP、Rubyなどが選択されていたと思います。しかし、.NET Framewrok(以降、.NET)がマルチプラットフォーム対応することにより、今後C#が採用される機会が増えていくと思われます。柔軟な静的型付言語に興味があるようでしたら、C#を試していただけると幸いです。
環境のセットアップ
それでは、Macで.NETの開発環境を整えていきましょう。
HomeBrewのインストール
まずは、ソフトウェアの管理を行うHomeBrewをインストールします。ターミナルを起動し、以下のコマンドを入力します。
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
インストールが成功すると、brewコマンドが使用できるようになり、.NET環境を簡単に管理できるようになります。
.NET環境のインストール
brewコマンドを使って、.NETリポジトリの設定と導入を進めていきます。
##### ASP.NETのリポジトリを追加 ##### $ brew tap aspnet/dnx ##### パッケージ(formula)をアップデート ##### $ brew update ##### .NETバージョンマネージャ「dnvm」をインストール ##### $ brew install dnvm
brewコマンドで、.NETバージョンマネージャ「dnvm」をインストールします。これに伴い、Linuxの.NET実行環境であるMonoがインストールされます。その後、GitHubのASP.NET最新モジュールもインストールされます。
起動スクリプトの設定
手動作業として、シェルの起動スクリプト(Bashの場合「bash_profile」)にdnvm.shが自動で呼び出されるように設定します。
##### 毎回、自動で読み込まれるように設定 $ echo source dnvm.sh >> ./bash_profile
.NETバージョンマネージャ「dnvm」の起動
.NETバージョンマネージャのセットアップが完了したので、.NETバージョンマネージャ「dnvm」を起動します。
コマンドdnvmを引数なしで実行した場合は、現在の設定が表示されます。
$ dnvm ...中略... Default Stable: https://www.nuget.org/api/v2 Default Unstable: https://www.myget.org/F/aspnetvnext/api/v2
それでは、upgradeコマンドを実行してみましょう。最新の.NET frameworkが提供されていれば、そのバージョンに更新されます。
$ dnvm upgrade ...中略... Updating alias 'default' to 'dnx-mono.1.0.0-beta5' $ dnvm list Active Version Runtime Arch Location Alias ------ ------- ------- ---- -------- ----- * 1.0.0-beta5 mono ~/.dnx/runtimes default
実行結果に表示されているように、ユーザーフォルダの/.dnxフォルダに実行に必要なファイルや、依存パッケージのDLLが格納されます。インストールされた.NET Frameworkのバージョンを一覧表示したり、切り替え設定を行ったりすることができます。
dnvmコマンドの主要な引数は下表のとおりです。
引数 | 説明 |
---|---|
upgrade | 最新版をインストール。-fオプションで再インストール、-uオプションでUnstable(開発中)バージョンをインストール |
install | フィードやファイルを指定してインストール |
use | インストール済み.NETバージョンを選択 |
以上で、.NET環境のセットアップができました。