CI (Intégration continue)
Posted on sam. 24 novembre 2018 in Programmation
Travis-CI
Nom du fichier : .travis.yml
.NET
language: csharp
solution: solution.sln
install:
- sudo apt-get install -y gtk-sharp2
- nuget restore solution.sln
addons:
sonarqube: true
env:
global:
secure: SONARQUBE_TOKEN_SECURE
script:
- xbuild /p:Configuration=Release solution.sln
- sonar-scanner -Dsonar.login=$SONAR_TOKEN
Ionic
sudo: false
language: node_js
node_js:
- "0.12.2"
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
- openjdk-7-jdk
- lib32stdc++6
- lib32z1
env:
CXX=g++-4.8
install:
- npm config set registry https://registry.npmjs.org/
- npm install -g gulp bower cordova ionic
- npm install
- bower update
before_script:
- wget http://dl.google.com/android/android-sdk_r24.4-linux.tgz
- tar -xvf android-sdk_r24.4-linux.tgz
- echo y | ./android-sdk-linux/tools/android update sdk --no-ui --all --filter platform-tools
- echo y | ./android-sdk-linux/tools/android update sdk --no-ui --all --filter build-tools-23.0.2
- echo y | ./android-sdk-linux/tools/android update sdk --no-ui --all --filter android-23
- echo y | ./android-sdk-linux/tools/android update sdk --no-ui --all --filter extra-android-support
- echo y | ./android-sdk-linux/tools/android update sdk --no-ui --all --filter extra-android-m2repository
- echo y | ./android-sdk-linux/tools/android update sdk --no-ui --all --filter extra-google-m2repository
- export ANDROID_HOME=$PWD/android-sdk-linux
- export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/23.0.2
script:
- ionic platform remove android
- ionic platform add android
- ionic resources --icon
- chmod +x hooks/after_prepare/010_add_platform_class.js
- ionic build android
Appveyor
Ce site permet de faire de l'intégration continue sur des projets Visual Studio (.NET).
Fichier de configuration
Le fichier de configuration ci-dessous permet d'installer l'ensemble des packages NuGet requis avant le build, l'envoie des résultats des tests unitaires sur le site coveralls.io ainsi que la notification sur un chan Slack sur la réussite ou non de l'opération.
Si vous souhaitez plus de détails, vous pouvez utiliser la documentation de ce fichier trouvable ici : https://www.appveyor.com/docs/.
Nom : appveyor.yml
version: 0.0.0.{build}
environment:
COVERALLS_REPO_TOKEN:
secure: uZr+CJU4Pl/9ySY0sDQh62xBZaqlEQB7s6fZEmG58InhSjbwslq6mKIWxd1Q55TO
platform: Any CPU
before_build:
- nuget restore SolutionName.sln
build:
project: SolutionName.sln
# Spécifie les actiopons après les tests automatiques de Appveyor
after_test:
- cmd: .\after_test.cmd
#---------------------------------#
# notifications #
#---------------------------------#
notifications:
# Slack
- provider: Slack
incoming_webhook: https://hooks.slack.com/services/xxxxxx/yyyyyyyy/zzzzzzzzzz
Coveralls
Afin de faire des tests unitaires via Visual Studio, vous pouvez utiliser le framework NUnit (http://nunit.org/). C'est actuellement le plus répandu et utilisé. Les résultats de ces tests peuvent être ensuite envoyé sur le site de Coveralls. Cela permet un suivi de ces-derniers ainsi qu'un ensemble d'éléments graphiques.
Pour ce faire, vous devez installer les packages NuGet suivant :
- NUnit
- NUnitConsoleRunner
- NUnit3TestAdpater
Les deux packages NuGet suivant sont utilisé si vous souhaitez envoyer les résultats de ces tests sur le site coveralls.io :
- coveralls.net
- OpenCover
nuget install NUnit.Runners -Version 3.4.1 -OutputDirectory tools
nuget install OpenCover -Version 4.6.519 -OutputDirectory tools
nuget install coveralls.net -Version 0.7.0 -OutputDirectory tools
.\tools\OpenCover.4.6.519\tools\OpenCover.Console.exe -target:.\tools\NUnit.ConsoleRunner.3.4.1\tools\nunit3-console.exe -targetargs:".\NUnitTest\bin\Debug\NUnitTest.dll" -register:user
.\tools\coveralls.net.0.7.0\tools\csmacnz.Coveralls.exe --opencover -i .\results.xml