<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Info on L4th blog</title>
    <link>https://blog.l4th.fr/tags/info/index.xml</link>
    <description>Recent content in Info on L4th blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>L4th all rights reserved</copyright>
    <atom:link href="https://blog.l4th.fr/tags/info/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>scp et ssh en une commande</title>
      <link>https://blog.l4th.fr/post/scp-and-ssh/</link>
      <pubDate>Mon, 28 Nov 2016 11:03:14 -0500</pubDate>
      
      <guid>https://blog.l4th.fr/post/scp-and-ssh/</guid>
      <description>&lt;p&gt;Comande qui permet de scp un fichier sur un serveur, puis de s&amp;rsquo;y connecter en
une seule commande.&lt;/p&gt;

&lt;p&gt;Ajouter à votre bashrc / zshrc :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;scps () {
    dest_w_path=$2
    dest=$(echo $2 | cut -d &amp;quot;:&amp;quot; -f 1)
    scp $1 $2
    ssh $dest
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Usage :&lt;/p&gt;

&lt;p&gt;&lt;code&gt;scps local_file [user@]host:path&lt;/code&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Déploiement continu de Hugo avec gitlab et docker</title>
      <link>https://blog.l4th.fr/post/hugo-deploiement-gitlab/</link>
      <pubDate>Sat, 26 Nov 2016 00:43:49 -0500</pubDate>
      
      <guid>https://blog.l4th.fr/post/hugo-deploiement-gitlab/</guid>
      <description>

&lt;p&gt;Hugo est un générateur de page web statique. Le contenu est écrit dans un format tel que le markdown, et hugo se charge de transformer ce contenu en pages html.
Ces pages peuvent ensuite etre servies par n&amp;rsquo;importe quel serveur web capable de servire des pages statiques.&lt;/p&gt;

&lt;h2 id=&#34;installation&#34;&gt;Installation&lt;/h2&gt;

&lt;p&gt;Comment mettre en place le déploiement continu du blog hugo ?
Objectif : Dès qu&amp;rsquo;il y a un push sur master, le blog se met à jour avec le dernier contenu.&lt;/p&gt;

&lt;h3 id=&#34;container-web-server&#34;&gt;Container web server&lt;/h3&gt;

&lt;p&gt;Démarrer un serveur web dans un container docker. Nous allons utiliser nginx ici&lt;/p&gt;

&lt;p&gt;&lt;code&gt;docker run nginx:alpine -v blog-content:/usr/share/nginx/html -p 8080:80&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Ici on bind le port 8080 de l&amp;rsquo;host sur le port 80 du container, sur lequel écoute nginx par défaut. Si on dispose d&amp;rsquo;un load balancer, il n&amp;rsquo;y a pas besoin de bind le port de l&amp;rsquo;host, il suffit de rediriger les requetes vers le port 80 du container.&lt;/p&gt;

&lt;h2 id=&#34;configuration-du-build-gitlab&#34;&gt;Configuration du build gitlab&lt;/h2&gt;

&lt;h3 id=&#34;configuration-du-runner&#34;&gt;Configuration du runner&lt;/h3&gt;

&lt;p&gt;Il faut ajouter le volume au runner.&lt;/p&gt;

&lt;p&gt;Pour cela, on modifie la conf du shared runner. Elle est dans le ficher &lt;code&gt;/etc/gitlab-runner/config.toml&lt;/code&gt;.
Dans la section &lt;code&gt;[runners.docker]&lt;/code&gt;, ajouter l&amp;rsquo;element &amp;ldquo;blog-content:/blog-content&amp;rdquo; à l&amp;rsquo;élement &lt;code&gt;volumes&lt;/code&gt; (le créer s&amp;rsquo;il est vide)
Exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[runners.docker]
  host = &amp;quot;&amp;quot;
  hostname = &amp;quot;&amp;quot;
  volumes = [&amp;quot;/data&amp;quot;, &amp;quot;blog-content:/blog-content&amp;quot;]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Le build gitlab se configure à l&amp;rsquo;aide du fichier &lt;code&gt;gitlab-ci.yml&lt;/code&gt;
On utilise la configuration suivante :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;pages:
  image: publysher/hugo
  stage: build
  script:
  - apt-get install git
  - git submodule update --init --recursive
  - hugo
  - echo &amp;quot;Compilation suceeded&amp;quot;
  - rm -rf /blog-content/*
  - cp -r public/* /blog-content/
  only:
  - master
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Les 2 premieres lignes sont utilisées pour cloner récursivement le thème.
Ensuite, &lt;code&gt;hugo&lt;/code&gt; permet de compiler le blog en fichiers html statiques.
On déploie ensuite le blog, en remplaçant les fichiers dans le volume&lt;/p&gt;

&lt;p&gt;On peut maintenant pusher des modifications sur master, le site sera mis à jour en quelques secondes.&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>