From: Jakub Czajka Date: Sun, 18 Jun 2023 16:08:36 +0000 (+0200) Subject: [website] Configure automatic deployment and describe the repository. X-Git-Url: https://git.ekhem.eu.org/?a=commitdiff_plain;h=3e0b252905346123842de72968c288ca4f0ecec9;p=metadata.git [website] Configure automatic deployment and describe the repository. --- diff --git a/website.git/deploy.yaml b/website.git/deploy.yaml new file mode 100644 index 0000000..fe15340 --- /dev/null +++ b/website.git/deploy.yaml @@ -0,0 +1,39 @@ +# Copyright (c) 2023 Jakub Czajka +# License: GPL-3.0 or later. + +- hosts: servers + vars: + dest: "{{ ansible_local.env.vars.prod_dir }}/www" + repo: "{{ ansible_local.env.vars.git_home_dir }}/website.git" + site: website.conf + tasks: + - name: Create destination directory + file: + path: "{{ dest }}" + state: directory + become: true + - name: Checkout website files to the destination directory + command: /usr/bin/git --work-tree={{ dest }} --git-dir={{ repo }} \ + checkout main --force index.html media + become: true + + - name: Install nginx + package: + name: + - nginx + state: latest + become: true + - name: Checkout site to /etc/nginx/sites-available + command: /usr/bin/git --work-tree=/etc/nginx/sites-available \ + --git-dir={{ repo }} checkout main --force {{ site }} + become: true + - name: Enable site in nginx + shell: envsubst < /etc/nginx/sites-available/{{ site }} \ + > /etc/nginx/sites-enabled/{{ site }} + environment: "{{ ansible_local.env.vars }}" + become: true + - name: Restart nginx + service: + name: nginx + state: restarted + become: true diff --git a/website.git/description b/website.git/description new file mode 100644 index 0000000..16747fa --- /dev/null +++ b/website.git/description @@ -0,0 +1 @@ +Files for personal website. diff --git a/website.git/hooks/post-receive b/website.git/hooks/post-receive new file mode 100755 index 0000000..7fc4893 --- /dev/null +++ b/website.git/hooks/post-receive @@ -0,0 +1,13 @@ +#!/bin/sh +# Copyright (c) 2023 Jakub Czajka +# License: GPL-3.0 or later. + +while read old_revision new_revision branch +do + if [ "${branch}" != "refs/heads/main" ] + then + echo "${branch} is not the main branch so not deploying." + exit 0 + fi + sudo /usr/bin/ansible-playbook --connection=local deploy.yaml +done