Deploy site [CI SKIP]
This commit is contained in:
parent
65c0ece86d
commit
966ae7df1b
6 changed files with 24 additions and 24 deletions
|
|
@ -222,7 +222,7 @@ window.Quarto = {
|
|||
|
||||
<div class="quarto-listing quarto-listing-container-grid" id="listing-listing">
|
||||
<div class="list grid quarto-listing-cols-3">
|
||||
<div class="g-col-1" data-index="0" data-categories="Y2klMkNpbnQlQzMlQTlncmF0aW9uJTIwY29udGludWUlMkNnaXQlMkNHaXRMYWIlMkNMYVRlWCUyQ2ZyZW5jaCUyQ2ZyYW4lQzMlQTdhaXM=" data-listing-date-sort="1758578400000" data-listing-file-modified-sort="1759333848330" data-listing-date-modified-sort="1759333848000" data-listing-reading-time-sort="3" data-listing-word-count-sort="480">
|
||||
<div class="g-col-1" data-index="0" data-categories="Y2klMkNpbnQlQzMlQTlncmF0aW9uJTIwY29udGludWUlMkNnaXQlMkNHaXRMYWIlMkNMYVRlWCUyQ2ZyZW5jaCUyQ2ZyYW4lQzMlQTdhaXM=" data-listing-date-sort="1758578400000" data-listing-file-modified-sort="1759334583315" data-listing-date-modified-sort="1759334583000" data-listing-reading-time-sort="3" data-listing-word-count-sort="492">
|
||||
<a href="./posts/ci-gitlab-latex.html" class="quarto-grid-link">
|
||||
<div class="quarto-grid-item card h-100 card-left">
|
||||
<p class="card-img-top"><img src="posts/resources/ci-gitlab-latex/access-token-settings.png" style="height: 150px;" class="thumbnail-image card-img"/></p>
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ Important
|
|||
</div>
|
||||
<div class="cell">
|
||||
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode numberSource yaml number-lines code-with-copy"><code class="sourceCode yaml"><span id="cb1-1"><a href="#cb1-1"></a><span class="fu">variables</span><span class="kw">:</span></span>
|
||||
<span id="cb1-2"><a href="#cb1-2"></a><span class="co"> # Version de git utilis<c3><a9>e</span></span>
|
||||
<span id="cb1-2"><a href="#cb1-2"></a><span class="co"> # Version de git utilisée</span></span>
|
||||
<span id="cb1-3"><a href="#cb1-3"></a><span class="at"> </span><span class="fu">GIT_VERSION</span><span class="kw">:</span><span class="at"> v2.30.1</span></span>
|
||||
<span id="cb1-4"><a href="#cb1-4"></a></span>
|
||||
<span id="cb1-5"><a href="#cb1-5"></a><span class="co"> # Branche cible pour les PDF (modifiable via CI/CD variables)</span></span>
|
||||
|
|
@ -288,23 +288,23 @@ Important
|
|||
<span id="cb1-44"><a href="#cb1-44"></a><span class="co"> # Clone le repo dans un dossier temporaire</span></span>
|
||||
<span id="cb1-45"><a href="#cb1-45"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git clone "https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git" "${CI_COMMIT_SHA}"</span></span>
|
||||
<span id="cb1-46"><a href="#cb1-46"></a></span>
|
||||
<span id="cb1-47"><a href="#cb1-47"></a><span class="co"> # Configure l<e2><80><99>identit<c3><a9> git</span></span>
|
||||
<span id="cb1-47"><a href="#cb1-47"></a><span class="co"> # Configure l’identité git</span></span>
|
||||
<span id="cb1-48"><a href="#cb1-48"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git config --global user.email "${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}"</span></span>
|
||||
<span id="cb1-49"><a href="#cb1-49"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git config --global user.name "${GIT_USER_NAME:-$GITLAB_USER_NAME}"</span></span>
|
||||
<span id="cb1-50"><a href="#cb1-50"></a></span>
|
||||
<span id="cb1-51"><a href="#cb1-51"></a><span class="at"> </span><span class="fu">script</span><span class="kw">:</span></span>
|
||||
<span id="cb1-52"><a href="#cb1-52"></a><span class="co"> # D<c3><a9>place les PDFs compil<c3><a9>s dans le repo clon<c3><a9></span></span>
|
||||
<span id="cb1-52"><a href="#cb1-52"></a><span class="co"> # Déplace les PDFs compilés dans le repo cloné</span></span>
|
||||
<span id="cb1-53"><a href="#cb1-53"></a><span class="at"> </span><span class="kw">-</span><span class="at"> mv *.pdf "${CI_COMMIT_SHA}/"</span></span>
|
||||
<span id="cb1-54"><a href="#cb1-54"></a><span class="at"> </span><span class="kw">-</span><span class="at"> cd "${CI_COMMIT_SHA}"</span></span>
|
||||
<span id="cb1-55"><a href="#cb1-55"></a></span>
|
||||
<span id="cb1-56"><a href="#cb1-56"></a><span class="co"> # Cr<c3><a9>e une branche orpheline (vierge, sans historique ni fichiers)</span></span>
|
||||
<span id="cb1-56"><a href="#cb1-56"></a><span class="co"> # Crée une branche orpheline (vierge, sans historique ni fichiers)</span></span>
|
||||
<span id="cb1-57"><a href="#cb1-57"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git checkout --orphan "${PDF_BRANCH}"</span></span>
|
||||
<span id="cb1-58"><a href="#cb1-58"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git reset --hard</span></span>
|
||||
<span id="cb1-59"><a href="#cb1-59"></a></span>
|
||||
<span id="cb1-60"><a href="#cb1-60"></a><span class="co"> # Ajoute uniquement les PDF</span></span>
|
||||
<span id="cb1-61"><a href="#cb1-61"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git add -f *.pdf</span></span>
|
||||
<span id="cb1-62"><a href="#cb1-62"></a></span>
|
||||
<span id="cb1-63"><a href="#cb1-63"></a><span class="co"> # V<c3><a9>rifie s<e2><80><99>il y a des changements et push</span></span>
|
||||
<span id="cb1-63"><a href="#cb1-63"></a><span class="co"> # Vérifie s’il y a des changements et push</span></span>
|
||||
<span id="cb1-64"><a href="#cb1-64"></a><span class="kw"> - </span><span class="ch">|</span></span>
|
||||
<span id="cb1-65"><a href="#cb1-65"></a> CHANGES=$(git status --porcelain | wc -l)</span>
|
||||
<span id="cb1-66"><a href="#cb1-66"></a> if [ "$CHANGES" -gt "0" ]; then</span>
|
||||
|
|
@ -321,7 +321,7 @@ Important
|
|||
<p>La section variables ci-dessous sert à définir des variables auxquelles nous ferons référence plus tard.</p>
|
||||
<div class="cell">
|
||||
<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode numberSource yaml number-lines code-with-copy"><code class="sourceCode yaml"><span id="cb2-1"><a href="#cb2-1"></a><span class="fu">variables</span><span class="kw">:</span></span>
|
||||
<span id="cb2-2"><a href="#cb2-2"></a><span class="co"> # Version de git utilis<c3><a9>e</span></span>
|
||||
<span id="cb2-2"><a href="#cb2-2"></a><span class="co"> # Version de git utilisée</span></span>
|
||||
<span id="cb2-3"><a href="#cb2-3"></a><span class="at"> </span><span class="fu">GIT_VERSION</span><span class="kw">:</span><span class="at"> v2.30.1</span></span>
|
||||
<span id="cb2-4"><a href="#cb2-4"></a></span>
|
||||
<span id="cb2-5"><a href="#cb2-5"></a><span class="co"> # Branche cible pour les PDF (modifiable via CI/CD variables)</span></span>
|
||||
|
|
@ -401,23 +401,23 @@ Exécution conditionnelle de <code>biber</code>
|
|||
<span id="cb4-8"><a href="#cb4-8"></a><span class="co"> # Clone le repo dans un dossier temporaire</span></span>
|
||||
<span id="cb4-9"><a href="#cb4-9"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git clone "https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git" "${CI_COMMIT_SHA}"</span></span>
|
||||
<span id="cb4-10"><a href="#cb4-10"></a></span>
|
||||
<span id="cb4-11"><a href="#cb4-11"></a><span class="co"> # Configure l<e2><80><99>identit<c3><a9> git</span></span>
|
||||
<span id="cb4-11"><a href="#cb4-11"></a><span class="co"> # Configure l’identité git</span></span>
|
||||
<span id="cb4-12"><a href="#cb4-12"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git config --global user.email "${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}"</span></span>
|
||||
<span id="cb4-13"><a href="#cb4-13"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git config --global user.name "${GIT_USER_NAME:-$GITLAB_USER_NAME}"</span></span>
|
||||
<span id="cb4-14"><a href="#cb4-14"></a></span>
|
||||
<span id="cb4-15"><a href="#cb4-15"></a><span class="at"> </span><span class="fu">script</span><span class="kw">:</span></span>
|
||||
<span id="cb4-16"><a href="#cb4-16"></a><span class="co"> # D<c3><a9>place les PDFs compil<c3><a9>s dans le repo clon<c3><a9></span></span>
|
||||
<span id="cb4-16"><a href="#cb4-16"></a><span class="co"> # Déplace les PDFs compilés dans le repo cloné</span></span>
|
||||
<span id="cb4-17"><a href="#cb4-17"></a><span class="at"> </span><span class="kw">-</span><span class="at"> mv *.pdf "${CI_COMMIT_SHA}/"</span></span>
|
||||
<span id="cb4-18"><a href="#cb4-18"></a><span class="at"> </span><span class="kw">-</span><span class="at"> cd "${CI_COMMIT_SHA}"</span></span>
|
||||
<span id="cb4-19"><a href="#cb4-19"></a></span>
|
||||
<span id="cb4-20"><a href="#cb4-20"></a><span class="co"> # Cr<c3><a9>e une branche orpheline (vierge, sans historique ni fichiers)</span></span>
|
||||
<span id="cb4-20"><a href="#cb4-20"></a><span class="co"> # Crée une branche orpheline (vierge, sans historique ni fichiers)</span></span>
|
||||
<span id="cb4-21"><a href="#cb4-21"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git checkout --orphan "${PDF_BRANCH}"</span></span>
|
||||
<span id="cb4-22"><a href="#cb4-22"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git reset --hard</span></span>
|
||||
<span id="cb4-23"><a href="#cb4-23"></a></span>
|
||||
<span id="cb4-24"><a href="#cb4-24"></a><span class="co"> # Ajoute uniquement les PDF</span></span>
|
||||
<span id="cb4-25"><a href="#cb4-25"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git add -f *.pdf</span></span>
|
||||
<span id="cb4-26"><a href="#cb4-26"></a></span>
|
||||
<span id="cb4-27"><a href="#cb4-27"></a><span class="co"> # V<c3><a9>rifie s<e2><80><99>il y a des changements et push</span></span>
|
||||
<span id="cb4-27"><a href="#cb4-27"></a><span class="co"> # Vérifie s’il y a des changements et push</span></span>
|
||||
<span id="cb4-28"><a href="#cb4-28"></a><span class="kw"> - </span><span class="ch">|</span></span>
|
||||
<span id="cb4-29"><a href="#cb4-29"></a> CHANGES=$(git status --porcelain | wc -l)</span>
|
||||
<span id="cb4-30"><a href="#cb4-30"></a> if [ "$CHANGES" -gt "0" ]; then</span>
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
"href": "posts/ci-gitlab-latex.html#la-phase-de-déploiement-deploy",
|
||||
"title": "Faire une CI LaTeX avec GitLab",
|
||||
"section": "La phase de déploiement deploy",
|
||||
"text": "La phase de déploiement deploy\n\ndeploy:\n stage: deploy\n image:\n name: alpine/git:${GIT_VERSION}\n entrypoint: [\"\"]\n\n before_script:\n # Clone le repo dans un dossier temporaire\n - git clone \"https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git\" \"${CI_COMMIT_SHA}\"\n\n # Configure l<e2><80><99>identit<c3><a9> git\n - git config --global user.email \"${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}\"\n - git config --global user.name \"${GIT_USER_NAME:-$GITLAB_USER_NAME}\"\n\n script:\n # D<c3><a9>place les PDFs compil<c3><a9>s dans le repo clon<c3><a9>\n - mv *.pdf \"${CI_COMMIT_SHA}/\"\n - cd \"${CI_COMMIT_SHA}\"\n\n # Cr<c3><a9>e une branche orpheline (vierge, sans historique ni fichiers)\n - git checkout --orphan \"${PDF_BRANCH}\"\n - git reset --hard\n\n # Ajoute uniquement les PDF\n - git add -f *.pdf\n\n # V<c3><a9>rifie s<e2><80><99>il y a des changements et push\n - |\n CHANGES=$(git status --porcelain | wc -l)\n if [ \"$CHANGES\" -gt \"0\" ]; then\n git commit -m \"${COMMIT_MESSAGE:-Updating PDF files}\"\n git push --force origin \"${PDF_BRANCH}\" -o ci.skip\n else\n echo \"No PDF changes to commit\"\n fi\n\nFinalement nous déployons nos PDF. Pour cela on charge une image légère Alpine Linux avec la version Git sélectionnée dans les variables.\nAvec la directive before_script on clone le dépôt.\n\n\n\n\n\n\nPour créer le token GitLab\n\n\n\nNotez dans le git clone que nous employons une variable GITLAB_TOKEN, celle-ci est a créer au préalable et à déclarer dans le dépôt.\nPour cela :\n\nRendez-vous dans les paramètre de votre dépôt.\n\n\n\n\nDans les menus de gauche, déplier “Settings” et rendez-vous dans “Access tokens”\n\n\n\nIci ajoutez un nouveau token.\n\n\n\n\nCliquer sur “Add new token”\n\n\n\nEn configurant les permissions read_repository et write_repository afin de pouvoir cloner et pousser nos fichiers. Puis cliquer sur “Create project access token”.\n\n\n\nVotre token est maintenant affiché, copiez le car il ne sera pas raffiché après.\nRendez-vous maintenant dans CI/CD settings.\n\n\n\nCréer maintenant la variable en cliquant sur “Add variable”, nommez la GITLAB_TOKEN, dans “value” ajoutez le token copié.\n\n\n\nLa suite du script déplace les PDF dans le dépôt cloné, crée la branche de publication et ajoute les pdf.\nVous avez normalement maintenant une CI de compilation et publication de PDF ! Maintenant vous pouvez faire référence dans votre README.md à vos PDF en saisissant un lien du type :\nhttps://mongitlab.com/monnomutilisateur/mondepot/-/raw/monpdf.pdf\nqui permet d’afficher directement dans le navigateur le produit de la compilation. 😄"
|
||||
"text": "La phase de déploiement deploy\n\ndeploy:\n stage: deploy\n image:\n name: alpine/git:${GIT_VERSION}\n entrypoint: [\"\"]\n\n before_script:\n # Clone le repo dans un dossier temporaire\n - git clone \"https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git\" \"${CI_COMMIT_SHA}\"\n\n # Configure l’identité git\n - git config --global user.email \"${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}\"\n - git config --global user.name \"${GIT_USER_NAME:-$GITLAB_USER_NAME}\"\n\n script:\n # Déplace les PDFs compilés dans le repo cloné\n - mv *.pdf \"${CI_COMMIT_SHA}/\"\n - cd \"${CI_COMMIT_SHA}\"\n\n # Crée une branche orpheline (vierge, sans historique ni fichiers)\n - git checkout --orphan \"${PDF_BRANCH}\"\n - git reset --hard\n\n # Ajoute uniquement les PDF\n - git add -f *.pdf\n\n # Vérifie s’il y a des changements et push\n - |\n CHANGES=$(git status --porcelain | wc -l)\n if [ \"$CHANGES\" -gt \"0\" ]; then\n git commit -m \"${COMMIT_MESSAGE:-Updating PDF files}\"\n git push --force origin \"${PDF_BRANCH}\" -o ci.skip\n else\n echo \"No PDF changes to commit\"\n fi\n\nFinalement nous déployons nos PDF. Pour cela on charge une image légère Alpine Linux avec la version Git sélectionnée dans les variables.\nAvec la directive before_script on clone le dépôt.\n\n\n\n\n\n\nPour créer le token GitLab\n\n\n\nNotez dans le git clone que nous employons une variable GITLAB_TOKEN, celle-ci est a créer au préalable et à déclarer dans le dépôt.\nPour cela :\n\nRendez-vous dans les paramètre de votre dépôt.\n\n\n\n\nDans les menus de gauche, déplier “Settings” et rendez-vous dans “Access tokens”\n\n\n\nIci ajoutez un nouveau token.\n\n\n\n\nCliquer sur “Add new token”\n\n\n\nEn configurant les permissions read_repository et write_repository afin de pouvoir cloner et pousser nos fichiers. Puis cliquer sur “Create project access token”.\n\n\n\nVotre token est maintenant affiché, copiez le car il ne sera pas raffiché après.\nRendez-vous maintenant dans CI/CD settings.\n\n\n\nCréer maintenant la variable en cliquant sur “Add variable”, nommez la GITLAB_TOKEN, dans “value” ajoutez le token copié.\n\n\n\nLa suite du script déplace les PDF dans le dépôt cloné, crée la branche de publication et ajoute les pdf.\nVous avez normalement maintenant une CI de compilation et publication de PDF ! Maintenant vous pouvez faire référence dans votre README.md à vos PDF en saisissant un lien du type :\nhttps://mongitlab.com/monnomutilisateur/mondepot/-/raw/monpdf.pdf\nqui permet d’afficher directement dans le navigateur le produit de la compilation. 😄"
|
||||
},
|
||||
{
|
||||
"objectID": "index.html",
|
||||
|
|
|
|||
|
|
@ -222,7 +222,7 @@ window.Quarto = {
|
|||
|
||||
<div class="quarto-listing quarto-listing-container-grid" id="listing-listing">
|
||||
<div class="list grid quarto-listing-cols-3">
|
||||
<div class="g-col-1" data-index="0" data-categories="Y2klMkNpbnQlQzMlQTlncmF0aW9uJTIwY29udGludWUlMkNnaXQlMkNHaXRMYWIlMkNMYVRlWCUyQ2ZyZW5jaCUyQ2ZyYW4lQzMlQTdhaXM=" data-listing-date-sort="1758578400000" data-listing-file-modified-sort="1759333848330" data-listing-date-modified-sort="1759333848000" data-listing-reading-time-sort="3" data-listing-word-count-sort="480">
|
||||
<div class="g-col-1" data-index="0" data-categories="Y2klMkNpbnQlQzMlQTlncmF0aW9uJTIwY29udGludWUlMkNnaXQlMkNHaXRMYWIlMkNMYVRlWCUyQ2ZyZW5jaCUyQ2ZyYW4lQzMlQTdhaXM=" data-listing-date-sort="1758578400000" data-listing-file-modified-sort="1759334583315" data-listing-date-modified-sort="1759334583000" data-listing-reading-time-sort="3" data-listing-word-count-sort="492">
|
||||
<a href="./posts/ci-gitlab-latex.html" class="quarto-grid-link">
|
||||
<div class="quarto-grid-item card h-100 card-left">
|
||||
<p class="card-img-top"><img src="posts/resources/ci-gitlab-latex/access-token-settings.png" style="height: 150px;" class="thumbnail-image card-img"/></p>
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ Important
|
|||
</div>
|
||||
<div class="cell">
|
||||
<div class="sourceCode cell-code" id="cb1"><pre class="sourceCode numberSource yaml number-lines code-with-copy"><code class="sourceCode yaml"><span id="cb1-1"><a href="#cb1-1"></a><span class="fu">variables</span><span class="kw">:</span></span>
|
||||
<span id="cb1-2"><a href="#cb1-2"></a><span class="co"> # Version de git utilis<c3><a9>e</span></span>
|
||||
<span id="cb1-2"><a href="#cb1-2"></a><span class="co"> # Version de git utilisée</span></span>
|
||||
<span id="cb1-3"><a href="#cb1-3"></a><span class="at"> </span><span class="fu">GIT_VERSION</span><span class="kw">:</span><span class="at"> v2.30.1</span></span>
|
||||
<span id="cb1-4"><a href="#cb1-4"></a></span>
|
||||
<span id="cb1-5"><a href="#cb1-5"></a><span class="co"> # Branche cible pour les PDF (modifiable via CI/CD variables)</span></span>
|
||||
|
|
@ -288,23 +288,23 @@ Important
|
|||
<span id="cb1-44"><a href="#cb1-44"></a><span class="co"> # Clone le repo dans un dossier temporaire</span></span>
|
||||
<span id="cb1-45"><a href="#cb1-45"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git clone "https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git" "${CI_COMMIT_SHA}"</span></span>
|
||||
<span id="cb1-46"><a href="#cb1-46"></a></span>
|
||||
<span id="cb1-47"><a href="#cb1-47"></a><span class="co"> # Configure l<e2><80><99>identit<c3><a9> git</span></span>
|
||||
<span id="cb1-47"><a href="#cb1-47"></a><span class="co"> # Configure l’identité git</span></span>
|
||||
<span id="cb1-48"><a href="#cb1-48"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git config --global user.email "${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}"</span></span>
|
||||
<span id="cb1-49"><a href="#cb1-49"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git config --global user.name "${GIT_USER_NAME:-$GITLAB_USER_NAME}"</span></span>
|
||||
<span id="cb1-50"><a href="#cb1-50"></a></span>
|
||||
<span id="cb1-51"><a href="#cb1-51"></a><span class="at"> </span><span class="fu">script</span><span class="kw">:</span></span>
|
||||
<span id="cb1-52"><a href="#cb1-52"></a><span class="co"> # D<c3><a9>place les PDFs compil<c3><a9>s dans le repo clon<c3><a9></span></span>
|
||||
<span id="cb1-52"><a href="#cb1-52"></a><span class="co"> # Déplace les PDFs compilés dans le repo cloné</span></span>
|
||||
<span id="cb1-53"><a href="#cb1-53"></a><span class="at"> </span><span class="kw">-</span><span class="at"> mv *.pdf "${CI_COMMIT_SHA}/"</span></span>
|
||||
<span id="cb1-54"><a href="#cb1-54"></a><span class="at"> </span><span class="kw">-</span><span class="at"> cd "${CI_COMMIT_SHA}"</span></span>
|
||||
<span id="cb1-55"><a href="#cb1-55"></a></span>
|
||||
<span id="cb1-56"><a href="#cb1-56"></a><span class="co"> # Cr<c3><a9>e une branche orpheline (vierge, sans historique ni fichiers)</span></span>
|
||||
<span id="cb1-56"><a href="#cb1-56"></a><span class="co"> # Crée une branche orpheline (vierge, sans historique ni fichiers)</span></span>
|
||||
<span id="cb1-57"><a href="#cb1-57"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git checkout --orphan "${PDF_BRANCH}"</span></span>
|
||||
<span id="cb1-58"><a href="#cb1-58"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git reset --hard</span></span>
|
||||
<span id="cb1-59"><a href="#cb1-59"></a></span>
|
||||
<span id="cb1-60"><a href="#cb1-60"></a><span class="co"> # Ajoute uniquement les PDF</span></span>
|
||||
<span id="cb1-61"><a href="#cb1-61"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git add -f *.pdf</span></span>
|
||||
<span id="cb1-62"><a href="#cb1-62"></a></span>
|
||||
<span id="cb1-63"><a href="#cb1-63"></a><span class="co"> # V<c3><a9>rifie s<e2><80><99>il y a des changements et push</span></span>
|
||||
<span id="cb1-63"><a href="#cb1-63"></a><span class="co"> # Vérifie s’il y a des changements et push</span></span>
|
||||
<span id="cb1-64"><a href="#cb1-64"></a><span class="kw"> - </span><span class="ch">|</span></span>
|
||||
<span id="cb1-65"><a href="#cb1-65"></a> CHANGES=$(git status --porcelain | wc -l)</span>
|
||||
<span id="cb1-66"><a href="#cb1-66"></a> if [ "$CHANGES" -gt "0" ]; then</span>
|
||||
|
|
@ -321,7 +321,7 @@ Important
|
|||
<p>La section variables ci-dessous sert à définir des variables auxquelles nous ferons référence plus tard.</p>
|
||||
<div class="cell">
|
||||
<div class="sourceCode cell-code" id="cb2"><pre class="sourceCode numberSource yaml number-lines code-with-copy"><code class="sourceCode yaml"><span id="cb2-1"><a href="#cb2-1"></a><span class="fu">variables</span><span class="kw">:</span></span>
|
||||
<span id="cb2-2"><a href="#cb2-2"></a><span class="co"> # Version de git utilis<c3><a9>e</span></span>
|
||||
<span id="cb2-2"><a href="#cb2-2"></a><span class="co"> # Version de git utilisée</span></span>
|
||||
<span id="cb2-3"><a href="#cb2-3"></a><span class="at"> </span><span class="fu">GIT_VERSION</span><span class="kw">:</span><span class="at"> v2.30.1</span></span>
|
||||
<span id="cb2-4"><a href="#cb2-4"></a></span>
|
||||
<span id="cb2-5"><a href="#cb2-5"></a><span class="co"> # Branche cible pour les PDF (modifiable via CI/CD variables)</span></span>
|
||||
|
|
@ -401,23 +401,23 @@ Exécution conditionnelle de <code>biber</code>
|
|||
<span id="cb4-8"><a href="#cb4-8"></a><span class="co"> # Clone le repo dans un dossier temporaire</span></span>
|
||||
<span id="cb4-9"><a href="#cb4-9"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git clone "https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git" "${CI_COMMIT_SHA}"</span></span>
|
||||
<span id="cb4-10"><a href="#cb4-10"></a></span>
|
||||
<span id="cb4-11"><a href="#cb4-11"></a><span class="co"> # Configure l<e2><80><99>identit<c3><a9> git</span></span>
|
||||
<span id="cb4-11"><a href="#cb4-11"></a><span class="co"> # Configure l’identité git</span></span>
|
||||
<span id="cb4-12"><a href="#cb4-12"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git config --global user.email "${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}"</span></span>
|
||||
<span id="cb4-13"><a href="#cb4-13"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git config --global user.name "${GIT_USER_NAME:-$GITLAB_USER_NAME}"</span></span>
|
||||
<span id="cb4-14"><a href="#cb4-14"></a></span>
|
||||
<span id="cb4-15"><a href="#cb4-15"></a><span class="at"> </span><span class="fu">script</span><span class="kw">:</span></span>
|
||||
<span id="cb4-16"><a href="#cb4-16"></a><span class="co"> # D<c3><a9>place les PDFs compil<c3><a9>s dans le repo clon<c3><a9></span></span>
|
||||
<span id="cb4-16"><a href="#cb4-16"></a><span class="co"> # Déplace les PDFs compilés dans le repo cloné</span></span>
|
||||
<span id="cb4-17"><a href="#cb4-17"></a><span class="at"> </span><span class="kw">-</span><span class="at"> mv *.pdf "${CI_COMMIT_SHA}/"</span></span>
|
||||
<span id="cb4-18"><a href="#cb4-18"></a><span class="at"> </span><span class="kw">-</span><span class="at"> cd "${CI_COMMIT_SHA}"</span></span>
|
||||
<span id="cb4-19"><a href="#cb4-19"></a></span>
|
||||
<span id="cb4-20"><a href="#cb4-20"></a><span class="co"> # Cr<c3><a9>e une branche orpheline (vierge, sans historique ni fichiers)</span></span>
|
||||
<span id="cb4-20"><a href="#cb4-20"></a><span class="co"> # Crée une branche orpheline (vierge, sans historique ni fichiers)</span></span>
|
||||
<span id="cb4-21"><a href="#cb4-21"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git checkout --orphan "${PDF_BRANCH}"</span></span>
|
||||
<span id="cb4-22"><a href="#cb4-22"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git reset --hard</span></span>
|
||||
<span id="cb4-23"><a href="#cb4-23"></a></span>
|
||||
<span id="cb4-24"><a href="#cb4-24"></a><span class="co"> # Ajoute uniquement les PDF</span></span>
|
||||
<span id="cb4-25"><a href="#cb4-25"></a><span class="at"> </span><span class="kw">-</span><span class="at"> git add -f *.pdf</span></span>
|
||||
<span id="cb4-26"><a href="#cb4-26"></a></span>
|
||||
<span id="cb4-27"><a href="#cb4-27"></a><span class="co"> # V<c3><a9>rifie s<e2><80><99>il y a des changements et push</span></span>
|
||||
<span id="cb4-27"><a href="#cb4-27"></a><span class="co"> # Vérifie s’il y a des changements et push</span></span>
|
||||
<span id="cb4-28"><a href="#cb4-28"></a><span class="kw"> - </span><span class="ch">|</span></span>
|
||||
<span id="cb4-29"><a href="#cb4-29"></a> CHANGES=$(git status --porcelain | wc -l)</span>
|
||||
<span id="cb4-30"><a href="#cb4-30"></a> if [ "$CHANGES" -gt "0" ]; then</span>
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
"href": "posts/ci-gitlab-latex.html#la-phase-de-déploiement-deploy",
|
||||
"title": "Faire une CI LaTeX avec GitLab",
|
||||
"section": "La phase de déploiement deploy",
|
||||
"text": "La phase de déploiement deploy\n\ndeploy:\n stage: deploy\n image:\n name: alpine/git:${GIT_VERSION}\n entrypoint: [\"\"]\n\n before_script:\n # Clone le repo dans un dossier temporaire\n - git clone \"https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git\" \"${CI_COMMIT_SHA}\"\n\n # Configure l<e2><80><99>identit<c3><a9> git\n - git config --global user.email \"${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}\"\n - git config --global user.name \"${GIT_USER_NAME:-$GITLAB_USER_NAME}\"\n\n script:\n # D<c3><a9>place les PDFs compil<c3><a9>s dans le repo clon<c3><a9>\n - mv *.pdf \"${CI_COMMIT_SHA}/\"\n - cd \"${CI_COMMIT_SHA}\"\n\n # Cr<c3><a9>e une branche orpheline (vierge, sans historique ni fichiers)\n - git checkout --orphan \"${PDF_BRANCH}\"\n - git reset --hard\n\n # Ajoute uniquement les PDF\n - git add -f *.pdf\n\n # V<c3><a9>rifie s<e2><80><99>il y a des changements et push\n - |\n CHANGES=$(git status --porcelain | wc -l)\n if [ \"$CHANGES\" -gt \"0\" ]; then\n git commit -m \"${COMMIT_MESSAGE:-Updating PDF files}\"\n git push --force origin \"${PDF_BRANCH}\" -o ci.skip\n else\n echo \"No PDF changes to commit\"\n fi\n\nFinalement nous déployons nos PDF. Pour cela on charge une image légère Alpine Linux avec la version Git sélectionnée dans les variables.\nAvec la directive before_script on clone le dépôt.\n\n\n\n\n\n\nPour créer le token GitLab\n\n\n\nNotez dans le git clone que nous employons une variable GITLAB_TOKEN, celle-ci est a créer au préalable et à déclarer dans le dépôt.\nPour cela :\n\nRendez-vous dans les paramètre de votre dépôt.\n\n\n\n\nDans les menus de gauche, déplier “Settings” et rendez-vous dans “Access tokens”\n\n\n\nIci ajoutez un nouveau token.\n\n\n\n\nCliquer sur “Add new token”\n\n\n\nEn configurant les permissions read_repository et write_repository afin de pouvoir cloner et pousser nos fichiers. Puis cliquer sur “Create project access token”.\n\n\n\nVotre token est maintenant affiché, copiez le car il ne sera pas raffiché après.\nRendez-vous maintenant dans CI/CD settings.\n\n\n\nCréer maintenant la variable en cliquant sur “Add variable”, nommez la GITLAB_TOKEN, dans “value” ajoutez le token copié.\n\n\n\nLa suite du script déplace les PDF dans le dépôt cloné, crée la branche de publication et ajoute les pdf.\nVous avez normalement maintenant une CI de compilation et publication de PDF ! Maintenant vous pouvez faire référence dans votre README.md à vos PDF en saisissant un lien du type :\nhttps://mongitlab.com/monnomutilisateur/mondepot/-/raw/monpdf.pdf\nqui permet d’afficher directement dans le navigateur le produit de la compilation. 😄"
|
||||
"text": "La phase de déploiement deploy\n\ndeploy:\n stage: deploy\n image:\n name: alpine/git:${GIT_VERSION}\n entrypoint: [\"\"]\n\n before_script:\n # Clone le repo dans un dossier temporaire\n - git clone \"https://${GITLAB_USERNAME}:${GITLAB_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_PATH}.git\" \"${CI_COMMIT_SHA}\"\n\n # Configure l’identité git\n - git config --global user.email \"${GIT_USER_EMAIL:-$GITLAB_USER_EMAIL}\"\n - git config --global user.name \"${GIT_USER_NAME:-$GITLAB_USER_NAME}\"\n\n script:\n # Déplace les PDFs compilés dans le repo cloné\n - mv *.pdf \"${CI_COMMIT_SHA}/\"\n - cd \"${CI_COMMIT_SHA}\"\n\n # Crée une branche orpheline (vierge, sans historique ni fichiers)\n - git checkout --orphan \"${PDF_BRANCH}\"\n - git reset --hard\n\n # Ajoute uniquement les PDF\n - git add -f *.pdf\n\n # Vérifie s’il y a des changements et push\n - |\n CHANGES=$(git status --porcelain | wc -l)\n if [ \"$CHANGES\" -gt \"0\" ]; then\n git commit -m \"${COMMIT_MESSAGE:-Updating PDF files}\"\n git push --force origin \"${PDF_BRANCH}\" -o ci.skip\n else\n echo \"No PDF changes to commit\"\n fi\n\nFinalement nous déployons nos PDF. Pour cela on charge une image légère Alpine Linux avec la version Git sélectionnée dans les variables.\nAvec la directive before_script on clone le dépôt.\n\n\n\n\n\n\nPour créer le token GitLab\n\n\n\nNotez dans le git clone que nous employons une variable GITLAB_TOKEN, celle-ci est a créer au préalable et à déclarer dans le dépôt.\nPour cela :\n\nRendez-vous dans les paramètre de votre dépôt.\n\n\n\n\nDans les menus de gauche, déplier “Settings” et rendez-vous dans “Access tokens”\n\n\n\nIci ajoutez un nouveau token.\n\n\n\n\nCliquer sur “Add new token”\n\n\n\nEn configurant les permissions read_repository et write_repository afin de pouvoir cloner et pousser nos fichiers. Puis cliquer sur “Create project access token”.\n\n\n\nVotre token est maintenant affiché, copiez le car il ne sera pas raffiché après.\nRendez-vous maintenant dans CI/CD settings.\n\n\n\nCréer maintenant la variable en cliquant sur “Add variable”, nommez la GITLAB_TOKEN, dans “value” ajoutez le token copié.\n\n\n\nLa suite du script déplace les PDF dans le dépôt cloné, crée la branche de publication et ajoute les pdf.\nVous avez normalement maintenant une CI de compilation et publication de PDF ! Maintenant vous pouvez faire référence dans votre README.md à vos PDF en saisissant un lien du type :\nhttps://mongitlab.com/monnomutilisateur/mondepot/-/raw/monpdf.pdf\nqui permet d’afficher directement dans le navigateur le produit de la compilation. 😄"
|
||||
},
|
||||
{
|
||||
"objectID": "index.html",
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue