用Travis CItestingASP.NET Core Docker容器
所以我configuration了我的.travis.yml
来构build和testing我的ASP.NET Core项目,但现在我已经configuration它在docker中运行。 到目前为止这么好,我有Dockerfile的构build,但后来我开始计算:
- 我应该在Docker Container还是外面运行testing? 或者它甚至是重要的?
- 如果我应该这样做,这怎么可能实现呢? 因为
dotnet test
没有**/*/
支持,我的容器不运行我的bash脚本。
更新:
- 还是应该在外面构build和testing,然后创builddockerimage?
Dockerfile是:
FROM microsoft/dotnet:latest ARG source=. WORKDIR /usr/src/project COPY $source . RUN dotnet restore EXPOSE 5000 CMD dotnet build **/*/project.json
而.sh
是:
#!/bin/bash cd test/ for D in `find ./ -maxdepth 1 -type d` do if [ -a ./project.json ] then ( cd ${D}; dotnet test;) fi done
任何build议,非常感谢。
所以我决定docker的构build和发布只能在构build和testing成功的时候完成
.travis.yml
language: csharp sudo: required solution: Solution.sln mono: none dotnet: 1.0.0-preview2-1-003177 services: - docker install: - npm install -g bower - npm install -g gulp before_script: - chmod a+x ./scripts/test.sh script: - dotnet restore && dotnet build **/*/project.json - ./scripts/test.sh --quite verify - if [ "$TRAVIS_BRANCH" == "master" ] ; then dotnet publish --no-build src/Main -o publish/ ; docker build -t project . ; fi after_success: - if [ "$TRAVIS_BRANCH" == "master" ] ; then /* Push to docker repo */ fi
- 运行在Docker容器中并在Kubernetes上运行的dotnet核心Web API
- 在docker中使用.net核心build立DB2连接时,无法加载DLL“libdb2.so”
- Docker上的debugging会抛出一个错误
- 如何在Docker容器中运行.NETunit testing
- Docker与.NET Core无法联系
- 在NuGet中debugging.NET Core项目和.NET库
- dnu发布后ASP.Net VNext不能在linux机器上工作
- 我如何提供应用程序configuration到我的在Docker容器中运行的.NET Core Web API服务?
- 如何在Mac上使用JetBrains Rider开发和debugging运行在Docker中的.NET Core应用程序