TP-optimisation-numerique-2/docs/build/Integration_continue.html
2021-11-08 11:38:05 +01:00

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&#39;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&#39;Intégration-continue-1"><a class="docs-heading-anchor" href="#L&#39;Intégration-continue-1">L&#39;Intégration continue</a><a class="docs-heading-anchor-permalink" href="#L&#39;Intégration-continue-1" title="Permalink"></a></h3><p><a href="https://en.wikipedia.org/wiki/Continuous_integration">L&#39;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&#39;application développée, Le principal but de cette pratique est de détecter les problèmes d&#39;intégration au plus tôt lors du développement. De plus, elle permet d&#39;automatiser l&#39;exécution des suites de tests et de voir l&#39;évolution du développement du logiciel.</p><ul><li><p>Les principaux avantages d&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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&#39;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 &#39;using Pkg; Pkg.instantiate(); Pkg.develop(PackageSpec(path=pwd()))&#39;
- 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 &#39;using Pkg; Pkg.instantiate(); Pkg.develop(PackageSpec(path=pwd()))&#39;
- julia --project=docs docs/make.jl
after_success: skip</code></pre><ul><li>Dans ce script on utilise un <code>stage</code> (&quot;Documentation&quot; n&#39;est qu&#39;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 = &quot;github.com/username/myrepo.git&quot;)</code></pre><p>la branche de déploiement est par défaut <code>branch = &quot;gh-pages&quot;</code>, et celle du développement est <code>devbranch=&quot;master&quot;</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&gt; using MonModule # s&#39;il ne trouve pas le module, faites activate ./ dans la racine de votre module
julia&gt; using DocumenterTools
julia&gt; 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 (&quot;ssh-rsa ...&quot;) à 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>