SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

あらゆるソフトウェア開発者のサポートを目指す開発ツール「Visual Studio 2015」特集(AD)

.NETアプリケーションをMacで開発してDockerで動かそう!

あらゆるソフトウェア開発者のサポートを目指す開発ツール「Visual Studio 2015」特集 第3回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 .NET FrameworkはWindowsで人気のあるアプリケーション実行環境です。2014年11月に.NET Frameworkのコア部分を、マルチプラットフォームのオープンソースとして公開していくとMicrosoftが発表しました。Linuxで動作する.NET Framework互換環境は以前から存在していましたが、正式サポートがないため導入が難しい一面がありました。しかし、Microsoftが正式なサポートを明言したことにより、LinuxやMacでC#アプリケーションを導入する機会が増えようとしています。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 本稿では、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をインストールします。ターミナルを起動し、以下のコマンドを入力します。

HomeBrewをインストールするコマンド(ruby)
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

 インストールが成功すると、brewコマンドが使用できるようになり、.NET環境を簡単に管理できるようになります。

.NET環境のインストール

 brewコマンドを使って、.NETリポジトリの設定と導入を進めていきます。

HomeBrewで.NETをインストールするコマンド(brewコマンド)
##### 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が自動で呼び出されるように設定します。

Bash起動時にdnvm.shを読み込む設定(シェル)
##### 毎回、自動で読み込まれるように設定
$ echo source dnvm.sh >> ./bash_profile

.NETバージョンマネージャ「dnvm」の起動

 .NETバージョンマネージャのセットアップが完了したので、.NETバージョンマネージャ「dnvm」を起動します。

ターミナルの画面(dnvmコマンド)
ターミナルの画面(dnvmコマンド)

 コマンドdnvmを引数なしで実行した場合は、現在の設定が表示されます。

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コマンド)
$ 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コマンドの主要な引数は下表のとおりです。

dnvmコマンドの主要引数
引数 説明
upgrade 最新版をインストール。-fオプションで再インストール、-uオプションでUnstable(開発中)バージョンをインストール
install フィードやファイルを指定してインストール
use インストール済み.NETバージョンを選択

 以上で、.NET環境のセットアップができました。

次のページ
Webプログラムのひな形を作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
あらゆるソフトウェア開発者のサポートを目指す開発ツール「Visual Studio 2015」特集連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト 青木 淳夫(アオキ アツオ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8859 2015/07/30 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング