Windows での Hello World
このページの内容
このドキュメントでは、CircleCI の Windows 実行環境で継続的インテグレーションを開始する方法を説明します。 今回初めて CircleCI をセットアップする場合は、先に 入門ガイドをご覧になることをお勧めします。
前提条件
作業を行う前に、以下を準備しておく必要があります。
- CircleCI の アカウント。
- Free プラン (デフォルト) または Performance または Scale プラン。
サンプル アプリケーション
Windows Executor を使用した例として、少し進んだ (まだ初歩ですが) “hello world” を考えてみましょう。 この サンプルアプリケーションも「Hello World」をコンソールに出力します。そのために .NET コアを使用して実行可能ファイルを作成し、依存関係キャッシュを使用し、ビルドごとにアーティファクトを作成します。
注: CircleCI Server で Windows を使用している場合、 CircleCI Server での Windows Executor の使用 に記載されているように Orb の使用をマシンイメージに置き換えてください。
設定ファイルの全体は こちらで確認してください。 これにはブラウザーと UI のテストが含まれますが、ここでは hello-world
のワークフローに注目します。
version: 2.1
上記のように、CircleCI のバージョン 2.1
を使用することを最初に宣言します。 これにより、 Orb と パイプラインを利用できます。
orbs:
win: circleci/windows@4.1.1
次に、ビルドで使用する Orb を宣言します。 最初は Windows Orb のみを使用します。 このサンプルでは、2.4.0 バージョンの Orb を使用していますが、それ以降のバージョンも使用していただけます。
workflows:
hello-world:
jobs:
- build
hello-world
ワークフローを定義します。ここではbuild
という単一のジョブを実行します。
jobs:
build:
executor:
name: win/default
jobs
キーの下に、build
ジョブを定義し、使用する Orb により Executor を設定します。
steps:
- checkout
最初のステップでは、 checkout
コマンドを実行して、バージョン管理システムからソース コードをプルします。
- restore_cache:
keys:
- run:
name: "プロジェクト依存関係のインストール"
command: dotnet.exe restore
- save_cache:
paths:
- C:\Users\circleci\.nuget\packages
次に設定ファイルでは、キャッシュを利用して、キャッシュされた依存関係を以前のビルドから復元します。 dotnet restore
コマンドは、まだインストールされていない、または復元されていないすべての依存関係をキャッシュからフェッチします。 キャッシュの詳細については、 キャッシュに関するドキュメントを参照してください。
- run:
name: "ビルド ステップの実行"
command: dotnet.exe publish -c Release -r win10-x64
- run:
name: "実行可能ファイルのテスト"
command: .\bin\Release\netcoreapp2.1\win10-x64\publish\circleci-demo-windows.exe
続いて 2 つのステップを実行します。1 つは Windows 10 用の実行可能ファイルをビルドし、もう 1 つはその実行可能ファイルをテストします (コンソールに「Hello World」と出力されます)。
- store_artifacts:
path: .\bin\Release\netcoreapp2.1\win10-x64\publish\circleci-demo-windows.exe
最後のステップでは、ビルド実行可能ファイルをアーティファクトとして保存し、CircleCI Web アプリケーションまたは API からアクセスできるようにします。
次のステップ
CircleCI の機能については、以下のドキュメントを確認してください。
- 2.0 設定ファイルの概要、および .circleci/config.yml ファイルにおけるトップレベル キーの階層については「 コンセプト」を参照してください。
- 並列実行、順次実行、スケジュール実行、手動承認のワークフローによるジョブのオーケストレーションの例については「 ワークフローを使用したジョブのスケジュール」を参照してください。
- すべてのキーとビルド済み Docker イメージに関する詳細なリファレンスについては、それぞれ「 CircleCI を設定する」、「 CircleCI のビルド済み Docker イメージ」を参照してください。