Continuous Delivery Tools にコンテナーのサポートを追加

本記事は、マイクロソフト本社の The Visual Studio Blog の記事を抄訳したものです。【元記事】 Continuous Delivery Tools adds support for Containers 2017/5/18

 

先日の Microsoft Build 2017 にて、Continuous Delivery Tools for Visual Studio (英語) の更新が発表されました。マイクロソフトでは、お客様からのフィードバックを拡張機能の拡充に積極的に取り入れています。私たちは皆様からの熱意のあるご意見やご要望を受けて製品を追求する多くのチャンスをいただき、お客様にさらに価値あるものを継続的に提供することができています。今回の更新では、不具合を修正したほか、Docker Compose を使用したソリューションで Azure App Service on Linux および Azure Service Fabric クラスターへの継続的デリバリ パイプラインを構成できるようになりました。また、コードの品質改善を支援する新機能 (英語) を追加しました。この機能を使用すると、コードをコミットする際に未解決のコード分析問題が通知され、エラー インジケーターをクリックしてエラー リストを参照できます。チーム内の CI/CD プロセスに影響が及ぶ前に対処することが可能なため、安心してコードをコミットできるようになります。この機能の詳細については、こちらのブログ記事 (英語) を参照してください。

App Service on Linux への継続的デリバリ

コンテナー対応ソリューションのサポート拡大の一環として、このたび、ビルドやリリース定義を IDE 内で直接構成できるようになりました。ASP.NET Core とコンテナーのサポート (英語) により、Azure App Service on Linux がコンテナーの利用を開始するのに適した環境となります。

App Service on Linux への継続的デリバリを構成するには、まず ASP.NET Core プロジェクトでソリューションを新規作成するか、または既存のソリューションを開きます。プロジェクトに Docker のサポートを追加し、Visual Studio Team Services (VSTS) や GitHub でソリューションのバージョンが管理されていることを確認します。ソリューション エクスプローラーでソリューション名を右クリックしてから [Configure Continuous Delivery] を選択します。

Continuous Delivery Tools Right click on solution in Solution Explorer

次に、対象のホストの種類から [App Service (Linux)] を選択し、Azure App Service を継続的デリバリの対象に設定します。

Configure Continuous Delivery Tools to App Service Linux

CI ビルドを確実に作成するには、ASP.NET Core プロジェクトの .dockerignore ファイルを更新して “*” というエントリを削除します。また、ASP.NET プロジェクトの docker ファイルを更新して必要なアセットを publish フォルダーにコピーし、アプリケーション アセンブリのエントリ ポイントを変更する必要があります。

FROM microsoft/aspnetcore-build:1.0-1.1EXPOSE 80WORKDIR /appCOPY . .RUN /bin/bash -c “dotnet restore && dotnet publish -c Release -o ./obj/Docker/publish”WORKDIR /app/obj/Docker/publishENTRYPOINT [“dotnet”, “<<Assembly Name>>.dll”]

Service Fabric クラスターへの継続的デリバリ

App Service on Linux 以外に、Service Fabric クラスターへの継続的デリバリを構成することも可能です。この場合はまず Azure でクラスターを作成します。既存の Azure Service Fabric クラスターで構成する場合は、キーのエクスポートが可能な状態で開発用マシンにクラスターの証明書がインストールされていることを確認します。

Configure Continuous Delivery Tools to Service Fabric Cluster

Service Fabric への継続的デリバリを構成する場合は、クラスターの証明書のパスワードを入力し、既存の Azure Container Registry を選択する必要があります。このリリース タスクでは、デプロイ時にクラスター証明書とパスワードを使用してクラスターに接続します。

Azure Container Services への継続的デリバリ

先日、拡張機能での Azure Container Services のサポートが廃止となりました。現在 Azure Container Services をサポートするための再設計を進めており、近いうちに Kubernetes コンテナーに対応した拡張機能をリリースする予定です。

フィードバックのお願い

いつもご意見、ご感想をお寄せいただきありがとうございます。マイクロソフトでは引き続き、Microsoft DevLabs 拡張機能 (英語) の今後の方向性に関するご意見を募集します。チームやコミュニティと意見を交換できる Slack チャンネルやチームのエイリアス vsdevops@microsoft.com などもぜひご利用ください。

Ahmed Metwally (Visual Studio、シニア PM)Twitter: @cd4vs (https://twitter.com/cd4vs) Ahmed Metwally は Visual Studio Platform チームのプログラム マネージャーを務めており、チームの共同作業とアプリケーションのライフサイクル管理の統合の改善に取り組んでいます。