Travis CI continue de service de l'intégration prend officiellement en charge de nombreuses langues, mais pas en C# F#.
Puis-je utiliser avec mon .projets net?
Travis CI continue de service de l'intégration prend officiellement en charge de nombreuses langues, mais pas en C# F#.
Puis-je utiliser avec mon .projets net?
Il est possible.
Sur votre propre mono machine, en utilisant le terminal, cd
dans votre solution de répertoire et de l'exécution de la commande xbuild
. Cela peut automatiquement de travail, ou il ne peut pas, comme il ya des éléments que vous avez utilisé dans visual studio qui a besoin de quelques ajustements en mono.
Choses à regarder dehors pour:
.csproj
linux est sensible à la casse des chemins où windows ne le fait pas.export EnableNuGetPackageRestore=true
avant l'exécution d' xbuild
si votre projet auto restaure. mozroots --import --sync
pour les installer.nuget.*
au lieu de NuGet.*
références dans votre .csproj ont pu exister dans les différentes versions de nuget. .fsproj
pour le déclenchement de l'VS2012 configuration non sur des machines windows en ajoutant '$(VisualStudioVersion)' == '11.0' Or $(OS) != 'Windows_NT'
voir exemple.Unable to find framework corresponding to the target framework moniker '.NETPortable,Version=v4.0,Profile=ProfileX'. Framework assembly references will be resolved from the GAC, which might not be the intended behavior.
d'Utilisation de la Plateforme de Conditions (mentionné sous Mono 3.0.11 ou version antérieure) ou une mise à jour 3.1.2.<PropertyGroup Condition="$(OS) == 'Windows_NT'"> <TargetFrameworkProfile>Profile46</TargetFrameworkProfile> </PropertyGroup>
ou Condition="$(OS) != 'Windows_NT'
pour les mono. Votre kilométrage peut varier. Voir travail exemple..ci/nunit.sh
est mon propre script shell pour nunit de test, de vérification dans la racine de l'opération. Donc, je peux installer le nunit-version de la console, je veux avec nuget, et configurer divers include/exclut des catégories trop. Votre kilométrage peut varier, mais cette technique devrait fonctionner pour xunit etc. Ou faire votre propre chose avec xbuild ou faux.
#!/bin/sh -x
mono --runtime=v4.0 .nuget/NuGet.exe install NUnit.Runners -Version 2.6.1 -o packages
runTest(){
mono --runtime=v4.0 packages/NUnit.Runners.2.6.1/tools/nunit-console.exe -noxml -nodots -labels -stoponerror $@
if [ $? -ne 0 ]
then
exit 1
fi
}
#This is the call that runs the tests and adds tweakable arguments.
#In this case I'm excluding tests I categorized for performance.
runTest $1 -exclude=Performance
exit $?
Pour tester les dernières mono il est plus facile d'utiliser les hôtes Mac (cible en utilisant language:objective-c
Mono v3.1.2 et plus tard changé de distribution sur un Mac à partir d'un DMG pour juste un PKG si l'installation est assez simple.
Ce modèle devrait soutenir Portable Bibliothèques de Classe, .NET 4.5.1, et FSharp 3.1.
language: objective-c
env:
global:
- EnableNuGetPackageRestore=true
matrix:
- MONO_VERSION="3.8.0"
before_install:
- wget "http://download.mono-project.com/archive/${MONO_VERSION}/macos-10-x86/MonoFramework-MDK-${MONO_VERSION}.macos10.xamarin.x86.pkg"
- sudo installer -pkg "MonoFramework-MDK-${MONO_VERSION}.macos10.xamarin.x86.pkg" -target /
script:
- xbuild
- .ci/nunit.sh Tests/bin/Debug/Tests.dll
J'facile à utiliser Mac des hôtes à l'installation d'une version de la matrice pour plusieurs versions de Mono. Voir le script ci-dessous
language: objective-c
env:
global:
- EnableNuGetPackageRestore=true
matrix:
- MONO_VER="2.10.11"
- MONO_VER="3.0.12"
before_install:
- wget "http://download.mono-project.com/archive/${MONO_VER}/macos-10-x86/MonoFramework-MDK-${MONO_VER}.macos10.xamarin.x86.dmg"
- hdid "MonoFramework-MDK-${MONO_VER}.macos10.xamarin.x86.dmg"
- sudo installer -pkg "/Volumes/Mono Framework MDK ${MONO_VER}/MonoFramework-MDK-${MONO_VER}.macos10.xamarin.x86.pkg" -target /
script:
- xbuild
- .ci/nunit.sh Tests/bin/Debug/Tests.dll
dans votre .travis.yml nous commençons avec
language: c
comme il est plutôt simple modèle.
puis l'installation de l'environnement pour les mono avec apt-get
before_install:
# Make sure mono is installed,
# pipe stdout to dev/null because qq is still too chatty
- sudo apt-get update -qq > /dev/null
- sudo apt-get install -qq mono-devel > /dev/null
- mozroots --import --sync
si nous allons utiliser nuget, ajouter la variable d'environnement
env:
- EnableNuGetPackageRestore=true
enfin, construire et tester des
script:
- xbuild
- .ci/nunit.sh Tests/bin/Debug/Tests.dll
Et maintenant, vous devriez être bon d'aller à l'utilisation de travis sur votre projet c#.
C'est le point essentiel - le projet doit travailler sur Mono. La plupart du temps cela fonctionne pour la bibliothèque de style des projets (SDK AWS .NET est un bon exemple) mais nécessite plus d'efforts de développement et de la discipline. Linux de l'environnement des bâtiments ne fonctionnera pas si vous êtes l'élaboration d'un projet de plate-forme Windows comme application WPF, Azure cloud, Windows Phone/app Store ou même ASP.NET l'API Web.
AppVeyor CI est hébergé intégration continue service de la plate-forme Windows et il est gratuit pour les projets open source. C'est comme Travis CI pour Windows!
Vous pouvez configurer les processus de génération pour VS.NET solution personnalisée projet MSBuild, PSake ou aucun script PowerShell de fichier de commandes. En outre, AppVeyor a intégré dans les artefacts de la gestion et de l'infrastructure de déploiement.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.