33 lines
12 KiB
HTML
33 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Intégration continue avec Travis CI · Optinum.jl</title><link href="https://fonts.googleapis.com/css?family=Lato|Roboto+Mono" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/fontawesome.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/solid.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/brands.min.css" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.11.1/katex.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL="."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js" data-main="assets/documenter.js"></script><script src="siteinfo.js"></script><script src="../versions.js"></script><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-dark.css" data-theme-name="documenter-dark"/><link class="docs-theme-link" rel="stylesheet" type="text/css" href="assets/themes/documenter-light.css" data-theme-name="documenter-light" data-theme-primary/><script src="assets/themeswap.js"></script></head><body><div id="documenter"><nav class="docs-sidebar"><a class="docs-logo" href="index.html"><img src="assets/logo.png" alt="Optinum.jl logo"/></a><div class="docs-package-name"><span class="docs-autofit">Optinum.jl</span></div><form class="docs-search" action="search.html"><input class="docs-search-query" id="documenter-search-query" name="q" type="text" placeholder="Search docs"/></form><ul class="docs-menu"><li><a class="tocitem" href="index.html">Accueil</a></li><li><a class="tocitem" href="Sujet.html">Sujet</a></li><li><span class="tocitem">Algorithmes</span><ul><li><a class="tocitem" href="Algorithme_de_newton.html">L'algorithme de Newton local</a></li><li><a class="tocitem" href="Regions_de_confiance.html">La méthode des régions de confiance</a></li><li><a class="tocitem" href="Lagrangien_augmente.html">La méthode du Lagrangien augmenté</a></li></ul></li><li><a class="tocitem" href="fct_index.html">Index des fonctions</a></li><li><a class="tocitem" href="Annexes.html">Annexes</a></li><li><a class="tocitem" href="mise_en_place.html">Installation de Julia et tests unitaires</a></li><li><a class="tocitem" href="FAQ.html">Foire aux Questions</a></li></ul><div class="docs-version-selector field has-addons"><div class="control"><span class="docs-label button is-static is-size-7">Version</span></div><div class="docs-selector control is-expanded"><div class="select is-fullwidth is-size-7"><select id="documenter-version-selector"></select></div></div></div></nav><div class="docs-main"><header class="docs-navbar"><nav class="breadcrumb"><ul class="is-hidden-mobile"><li class="is-active"><a href="Integration_continue.html">Intégration continue avec Travis CI</a></li></ul><ul class="is-hidden-tablet"><li class="is-active"><a href="Integration_continue.html">Intégration continue avec Travis CI</a></li></ul></nav><div class="docs-right"><a class="docs-edit-link" href="https://github.com//blob/master/docs/src/Integration_continue.md" title="Edit on GitHub"><span class="docs-icon fab"></span><span class="docs-label is-hidden-touch">Edit on GitHub</span></a><a class="docs-settings-button fas fa-cog" id="documenter-settings-button" href="#" title="Settings"></a><a class="docs-sidebar-button fa fa-bars is-hidden-desktop" id="documenter-sidebar-button" href="#"></a></div></header><article class="content" id="documenter-page"><h1 id="Intégration-continue-avec-Travis-CI-1"><a class="docs-heading-anchor" href="#Intégration-continue-avec-Travis-CI-1">Intégration continue avec Travis CI</a><a class="docs-heading-anchor-permalink" href="#Intégration-continue-avec-Travis-CI-1" title="Permalink"></a></h1><h3 id="L'Intégration-continue-1"><a class="docs-heading-anchor" href="#L'Intégration-continue-1">L'Intégration continue</a><a class="docs-heading-anchor-permalink" href="#L'Intégration-continue-1" title="Permalink"></a></h3><p><a href="https://en.wikipedia.org/wiki/Continuous_integration">L'intégration continue</a> est un ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l'application développée, Le principal but de cette pratique est de détecter les problèmes d'intégration au plus tôt lors du développement. De plus, elle permet d'automatiser l'exécution des suites de tests et de voir l'évolution du développement du logiciel.</p><ul><li><p>Les principaux avantages d'une telle technique de développement sont :</p><ul><li>le test immédiat des modifications </li><li>la notification rapide en cas de code incompatible ou manquant </li><li>les problèmes d'intégration sont détectés et réparés de façon continue, évitant les problèmes de dernière minute </li><li>une version est toujours disponible pour un test, une démonstration ou une distribution.</li></ul></li></ul><h3 id="Travis-CI-1"><a class="docs-heading-anchor" href="#Travis-CI-1">Travis CI</a><a class="docs-heading-anchor-permalink" href="#Travis-CI-1" title="Permalink"></a></h3><p><a href="http://travis-ci.com"><strong>Travis CI</strong></a> est un logiciel libre d'intégration continue. Il fournit un service en ligne utilisé pour compiler, tester et déployer le code source des logiciels développés, notamment en lien avec le service d'hébergement du code source GitHub. Le logiciel est publié sous <a href="https://fr.wikipedia.org/wiki/Licence_MIT">licence MIT</a>. Sa configuration s'effectue en <a href="https://fr.wikipedia.org/wiki/YAML">YAML</a>.</p><h3 id="Lancement-des-jobs-sur-Travis-CI-1"><a class="docs-heading-anchor" href="#Lancement-des-jobs-sur-Travis-CI-1">Lancement des jobs sur Travis CI</a><a class="docs-heading-anchor-permalink" href="#Lancement-des-jobs-sur-Travis-CI-1" title="Permalink"></a></h3><p>Pour lancer des jobs sur Travis : </p><ol><li>Allez sur <a href="travis-ci.com">Travis CI</a> ensuite <em>Sign up with GitHub</em>.</li><li>Acceptez l'autorisation de Travis CI. Vous serez redirigé vers GitHub.</li><li>Cliquez sur votre photo de profil en haut à droite de votre tableau de bord Travis, cliquez sur Paramètres puis sur le bouton vert <em>Activate button</em> et sélectionnez les dépôts que vous souhaitez utiliser avec Travis CI.</li><li>Maintenant , il ne reste que d'ajouter un fichier <code>.travis.yml</code> dans la racine de votre dépôt. ce fichier doit contenir les informations suivantes : le langage utilisé et les versions sur lequels vous voulez lancer les tests. par exemple : </li></ol><pre><code class="language-yml">language: julia
|
|
os:
|
|
- osx
|
|
- linux
|
|
- windows
|
|
julia:
|
|
- 1.0.5
|
|
- 1.4
|
|
- 1.5 </code></pre><p>le job des tests est configuré par défaut, mais il faudra avoir un fichier <code>runtests.jl</code> dans le dossier <code>test</code> sinon vous devrez personnaliser votre test, par exemple :</p><pre><code class="language-yml">language: julia
|
|
os:
|
|
- osx
|
|
- linux
|
|
- windows
|
|
julia:
|
|
- 1.0.5
|
|
- 1.4
|
|
- 1.5
|
|
script:
|
|
- julia -e 'using Pkg; Pkg.instantiate(); Pkg.develop(PackageSpec(path=pwd()))'
|
|
- julia test/test1.jl
|
|
- julia test/test2.jl</code></pre><p>Travis CI peut être utilisé pour deployer votre documentation dans les <a href="https://docs.travis-ci.com/user/deployment/pages/">Github pages</a>. pour se faire, créez un job spécifique pour la documentation : </p><pre><code class="language-yml">jobs:
|
|
include:
|
|
- stage: Documentation
|
|
julia: 1.4
|
|
os: linux
|
|
script:
|
|
- julia --project=docs -e 'using Pkg; Pkg.instantiate(); Pkg.develop(PackageSpec(path=pwd()))'
|
|
- julia --project=docs docs/make.jl
|
|
after_success: skip</code></pre><ul><li>Dans ce script on utilise un <code>stage</code> ("Documentation" n'est qu'un nom), pour en savoir plus <a href="https://docs.travis-ci.com/user/build-stages/">consultez cette page</a>.</li><li>Pour personnaliser les notifications de Travis, <a href="https://docs.travis-ci.com/user/notifications/">consultez cette page</a>.</li><li>Pour lancer des applications sur Heroku, <a href="https://docs.travis-ci.com/user/deployment/heroku/">consultez cette page</a>.</li><li>Pour personnaliser votre build, <a href="https://docs.travis-ci.com/user/customizing-the-build">consultez cette page</a></li></ul><h3 id="Déploiement-de-la-documentation-1"><a class="docs-heading-anchor" href="#Déploiement-de-la-documentation-1">Déploiement de la documentation</a><a class="docs-heading-anchor-permalink" href="#Déploiement-de-la-documentation-1" title="Permalink"></a></h3><p>Si vous voulez déployer votre doc sur <em>Github pages</em>, vous devez avoir dans votre fichier <code>docs/make.jl</code>, dans le cas de Julia, un appel à la fonction <a href="https://juliadocs.github.io/Documenter.jl/stable/lib/public/#Documenter.deploydocs"><code>deploydocs()</code></a> du package <a href="https://juliadocs.github.io/Documenter.jl/stable/lib/public/#Documenter"><code>Documenter</code></a> en donnant comme paramètre le dépôt surlequel vous voulez déployer, exemple :</p><pre><code class="language-julia">deploydocs(repo = "github.com/username/myrepo.git")</code></pre><p>la branche de déploiement est par défaut <code>branch = "gh-pages"</code>, et celle du développement est <code>devbranch="master"</code>,consultez la documentation de la fonction <a href="https://juliadocs.github.io/Documenter.jl/stable/lib/public/#Documenter.deploydocs"><code>deploydocs()</code></a> pour en savoir plus.</p><p>À chaque <code>push</code> ou <code>pull request</code> Travis-CI va exécuter ce fichier, et pour lui donner les droits à faire des modifications dans votre branche du dépoiement (<code>gh-pages</code> par défaut) suivez les étapes suivantes : </p><ul><li>Dans le dossier contenant votre module Julia, dans la console julia utilisez la fonction <a href="https://juliadocs.github.io/Documenter.jl/stable/lib/public/#DocumenterTools.genkeys"><code>genkeys(MonModule)</code></a> du package <code>DocumenterTools</code> pour récuperer la clé ssh et la clé de sécurité: </li></ul><pre><code class="language-julia">julia> using MonModule # s'il ne trouve pas le module, faites activate ./ dans la racine de votre module
|
|
julia> using DocumenterTools
|
|
julia> DocumenterTools.genkeys(MonModule)</code></pre><p>Ensuite,</p><ul><li><p>Allez sur <code>https://github.com/username/myrepo/settings/keys</code> et àjoutez la clé ssh ("ssh-rsa ...") à votre dépôt,mettez comme nom <code>documenter</code> et <strong>cochez</strong> <em>read/write access</em>.</p></li><li><p>Allez sur <code>https://travis-ci.com/github/username/myrepo/settings</code> ajoutez une <em>secure environment variable</em> avec le nom <code>DOCUMENTER_KEY</code> en donnant comme valeur la deuxième clé ().</p></li></ul><div class="admonition is-warning"><header class="admonition-header">Note</header><div class="admonition-body"><ul><li>Vous devez avoir suffisamment de droits pour pouvoir effectuer ces modifications. </li><li>Evitez de copier un espace de plus en récupérant les deux clés.</li></ul></div></div></article></div><div class="modal" id="documenter-settings"><div class="modal-background"></div><div class="modal-card"><header class="modal-card-head"><p class="modal-card-title">Settings</p><button class="delete"></button></header><section class="modal-card-body"><p><label class="label">Theme</label><div class="select"><select id="documenter-themepicker"><option value="documenter-light">documenter-light</option><option value="documenter-dark">documenter-dark</option></select></div></p><hr/><p>This document was generated with <a href="https://github.com/JuliaDocs/Documenter.jl">Documenter.jl</a> on <span class="colophon-date" title="Monday 8 November 2021 11:31">Monday 8 November 2021</span>. Using Julia version 1.4.1.</p></section><footer class="modal-card-foot"></footer></div></div></div></body></html>
|