Ajouter des paquets rust et installer zola (SSG)

This commit is contained in:
southerntofu 2020-04-12 18:14:20 +00:00
parent c4ec13fbd8
commit 4fc6624493
4 changed files with 88 additions and 0 deletions

View File

@ -39,4 +39,6 @@
- include: tor.yml
- include: rust_packages.yml
- include: users.yml

View File

@ -0,0 +1,56 @@
- name: Installer rust et cargo
apt:
state: present
name: "{{ packages }}"
update_cache: yes
vars:
packages:
- rustc
- cargo
- cargo-doc
- name: Créer unE user rust pour compiler les crates
user:
name: "rust"
state: present
skeleton: /etc/skel
shell: /bin/bash
system: no
createhome: yes
home: "/home/rust"
- name: Créer le dossier pour cargo
file:
path: /home/rust/.cargo
state: directory
owner: rust
group: rust
- name: Transférer les permissions de /usr/local/bin à rust
file:
path: /usr/local/bin
state: directory
owner: rust
group: rust
mode: 0744
recurse: yes
- name: Créer un symlink de ~rust/.cargo/bin vers /usr/local/bin
file:
dest: /home/rust/.cargo/bin
src: /usr/local/bin
force: yes
follow: no
state: link
- name: Installer les paquets rust qui nous intéresse
become:
become_user: rust
command:
cmd: "cargo install {{ item }}"
creates: "/usr/local/bin/{{ item }}"
loop: "{{ crates }}"
vars:
crates:
- lsd

BIN
roles/webserver/files/bin/zola Executable file

Binary file not shown.

View File

@ -14,3 +14,33 @@
- php-intl
- php-sqlite3
- php-mbstring
# Malheureusement zola compile pas sur debian buster (rustc v1.34 contre 1.36 requis)
# Donc on copie un binaire que j'ai compilé avec amour
- name: Installer le générateur de site statique zola
copy:
src: ../files/bin/zola
dest: /usr/local/bin/zola
# - stat:
# path: /usr/local/bin/zola
# register: zola
#
# - name: Télécharger la source de zola
# git:
# dest: /tmp/zola
# repo: https://github.com/getzola/zola
# version: "v0.10.1"
# when: not zola.stat.exists
#
# Zola a besoin de make, g++, libssl-dev et libsass-dev qui sont installés dans main.yml
#
# - name: Compiler zola
# command: "cargo install --path /tmp/zola"
# when: not zola.stat.exists
#
# - name: Supprimer les fichiers temporaires de zola
# file:
# path: /tmp/zola
# state: absent
# when: not zola.stat.exists