Add a cron based deployment for badges

This commit is contained in:
Michael Scherer 2020-08-07 22:24:49 +02:00 committed by misc
parent 1b787aef8b
commit 5e40a04c86
4 changed files with 72 additions and 22 deletions

View file

@ -0,0 +1,6 @@
#!/bin/bash
set -e
cd /srv/badges_checkout/
git pull
( rsync --delete -ar --itemize-changes /srv/badges_checkout/rules/ /srv/web/infra/badges/rules/ | grep -q '^>f' ) && service fedmsg-hub restart

View file

@ -57,19 +57,38 @@
- badges
- badges/backend
- name: copy over all our badge definitions
copy:
src: /srv/web/infra/badges/rules/
dest: /usr/share/badges/rules/
owner: fedmsg
group: fedmsg
mode: 0644
- name: create checkout dir
file:
name: /srv/badges_checkout
state: directory
tags:
- badges
- badges/backend
- name: clone directory
git:
repo:
dest: /srv/badges_checkout
tags:
- badges
- badges/backend
- name: add script
copy:
dest: /usr/local/bin/update_checkout.sh
src: update_checkout.sh
mode: 0755
tags:
- badges
- badges/backend
- name: add cron for update
cron:
job: /usr/local/bin/update_checkout.sh
minute: "*/15"
tags:
- config
- badges
- badges/backend
notify:
- restart fedmsg-hub
- name: ensure the fedmsg user has a homedir for cron to work
file:

View file

@ -0,0 +1,8 @@
#!/bin/bash
set -e
cd /srv/badges_checkout/
git pull
for i in pngs stls ; do
rsync --delete -ar /srv/badges_checkout/$i /srv/web/infra/badges/$i/
done

View file

@ -102,21 +102,38 @@
- badges
- badges/frontend
- name: copy over all our badge images
synchronize:
src: /srv/web/infra/badges/pngs/
dest: /usr/share/badges/pngs/
delete: yes
- name: create checkout dir
file:
name: /srv/badges_checkout
state: directory
tags:
- assets
- badges
- badges/frontend
- name: copy over all our badge stls
synchronize:
src: /srv/web/infra/badges/stls/
dest: /usr/share/badges/stls/
delete: yes
- name: clone directory
git:
repo:
dest: /srv/badges_checkout
tags:
- assets
- badges
- badges/frontend
- name: add script
copy:
dest: /usr/local/bin/update_checkout.sh
src: update_checkout.sh
mode: 0755
tags:
- badges
- badges/frontend
- name: add cron for update
cron:
job: /usr/local/bin/update_checkout.sh
minute: "*/15"
tags:
- badges
- badges/frontend
- name: ensure selinux lets httpd talk to postgres, memcached, and fedmsg
seboolean: