Prueba de ASP.NET Core Docker Container con Travis CI

Así que configuré mi .travis.yml para build y probar mi proyecto ASP.NET Core, pero ahora debo configurarlo para que se ejecute en el acoplador. Hasta ahora todo bien, tengo el file Docker para la compilation, pero luego empecé a pensar:

  • ¿Debo realizar las testings dentro del Docker Container o afuera? ¿Ó acaso importa?
  • Si debería hacerlo dentro, ¿cómo podría lograrse esto? ya que la dotnet test no tiene **/*/ support y mi contenedor no ejecuta mi script bash.

ACTUALIZAR:

  • ¿O debería build y probar afuera y luego crear la image de Docker?

El file Docker es:

 FROM microsoft/dotnet:latest ARG source=. WORKDIR /usr/src/project COPY $source . RUN dotnet restre EXPOSE 5000 CMD dotnet build **/*/project.json 

Y el .sh es:

 #!/bin/bash cd test/ for D in `find ./ -maxdepth 1 -type d` do if [ -a ./project.json ] then ( cd ${D}; dotnet test;) fi done 

Cualquier sugerencia es bienvenida.

Así que decidí que la compilation y publicación de la window acoplable solo debería hacerse si la compilation y la testing tuvieron éxito

.travis.yml

 language: csharp sudo: requinetworking 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 restre && 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