让 Cake 的 build.cake 和 asp.net 核心在 travis-ci 上工作

Getting Cake's build.cake and asp.net core to work on travis-ci

我必须在我的 .travis.yml 到 运行 cake.build 中放入什么并编译一个 .net 核心项目?

首先将 build.sh 添加到您的 github 存储库,然后赋予它执行权限, 在 windows 运行 以下命令 git update-index --add --chmod=+x build.sh 中,同时您与 build.sh.

在同一目录中

要将 cake.build 变为 运行 添加以下内容:

language: csharp
script:
  - ./build.sh

cache:
  directories:
    - src/packages
    - tools

要安装 dotnet cli 添加以下内容:

language: csharp
os:
  - linux

sudo: required
dist: trusty
env:
  - CLI_VERSION=latest

addons:
  apt:
    packages:
    - gettext
    - libcurl4-openssl-dev
    - libicu-dev
    - libssl-dev
    - libunwind8
    - zlib1g

install:
  - export DOTNET_INSTALL_DIR="$PWD/.dotnetcli"
  - curl -sSL https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0/scripts/obtain/dotnet-install.sh | bash /dev/stdin --version "$CLI_VERSION" --install-dir "$DOTNET_INSTALL_DIR"
  - export PATH="$DOTNET_INSTALL_DIR:$PATH"

script:
  - ./build.sh

cache:
  directories:
    - src/packages
    - tools

另一种方法是使用 MSFT 指令在 Linux 上安装(稍作调整):

language: csharp

os:
  - linux
dist: trusty
sudo: required

before_install:
  - 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" | sudo tee -a /etc/apt/sources.list'
  - sudo apt-key adv --keyserver apt-mo.trafficmanager.net --recv-keys 417A0893
  - sudo apt-get update -qq

install:
  - sudo apt-get install -y dotnet-dev-1.0.0-preview2-003121

script:
  - ./build.sh

cache:
  directories:
    - $HOME/.local/share/NuGet/Cache
    - tools

它需要 sudo,但另一方面您不必指定依赖项。

理论上你也可以只使用 APT addon 完成上述工作,但我不知道在 key_url 上放什么。 addons 部分类似这样的内容:

addons:
  apt:
    sources:
      - sourceline: 'deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main'
        key_url: ???
    packages:
      - dotnet-dev-1.0.0-preview2-003121

如果我们知道GPG密钥url,这将是最简洁的方法。