プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2017/11/14

GitLab CI で .NET Core の継続的インテグレーションを行う

event_note2017/11/13 15:29

オンプレミスのプロキシ環境下にある GitLab で、.NET Core で作成したアプリケーションの自動ビルドと自動テストを GitLab CI を使って行ってみました。

環境

  • Visual Studio 2017
  • .NET Core 2.0
  • xUnit.NET
  • GitLab CE 10.1.2

準備

GitLab CI を使用するには別途タスクランナーとして gitlab-runner が必要です。
gitlab-runner の準備と設定は以下の過去記事を参考にしてください。

.gitlab-ci.yml の作成

とりあえず作成した .gitlab-ci.yml は以下です。

# .gitlab-ci.yml
image: microsoft/dotnet:2.0.0-sdk
stages:
  - build
  - test
job1:
  stage: build
  script:
    - export http_proxy=http://xxx.xxx.xxx.xxx:8080
    - export https_proxy=http://xxx.xxx.xxx.xxx:8080
    - dotnet restore
    - dotnet build
  tags:
    - docker
job2:
  stage: test
  script:
    - export http_proxy=http://xxx.xxx.xxx.xxx:8080
    - export https_proxy=http://xxx.xxx.xxx.xxx:8080
    - dotnet restore
    - dotnet test テストプロジェクト名
  tags:
    - docker

常に最新の SDK を使用したい場合、image は microsoft/dotnet:sdk で OK です。

また、dotnet restore で NuGet パッケージの復元が行われるので、プロキシ環境下で動作させている場合は、プロキシの設定が必要です(地味にはまったところ・・・)。
なので、 export http_proxy export https_proxy でプロキシサーバーを指定しています。

参考 URL