---
# Setup the Hugo website
- name: "Get package facts"
ansible.builtin.package_facts:
manager: "apt"
- name: "Install Hugo"
ansible.builtin.apt:
deb: "https://github.com/gohugoio/hugo/releases/download/v0.121.1/hugo_extended_0.121.1_linux-amd64.deb"
state: present
become: true
when: "'hugo' not in ansible_facts.packages"
- name: "Make sure repos directory exists"
ansible.builtin.file:
path: "~/public_repos"
state: directory
owner: fflux
group: fflux
mode: '1755'
become: true
become_user: fflux
- name: "Clone website repo"
ansible.builtin.git:
accept_newhostkey: true
repo: "ssh://kallithea@projects.c3l.lu/freifunk/web/website"
dest: "/home/fflux/public_repos/website"
version: "testing"
become: true
become_user: fflux
register: hugo_website_cloned
- name: "Build the website"
ansible.builtin.command:
chdir: "/home/fflux/public_repos/website"
cmd: "hugo --minify"
become: true
become_user: fflux
when: hugo_website_cloned.after != hugo_website_cloned.before
register: hugo_website_built
changed_when: hugo_website_built.rc == 0
- name: "Symlink to website"
ansible.builtin.file:
src: "/home/fflux/public_repos/website/public"
dest: "/var/www/website"
owner: fflux
group: fflux
state: link
become: true