111 lines
2.7 KiB
YAML
111 lines
2.7 KiB
YAML
# Push out any new badge stuff.
|
|
#
|
|
# Badge artists and badge developers should be pushing stuff to this repo:
|
|
#
|
|
# https://pagure.io/fedora-badges.git
|
|
#
|
|
# This playbook will take any new content from there and push it out onto our
|
|
# servers.
|
|
|
|
- name: get the badges repo happening from the batcave
|
|
hosts: batcave01.iad2.fedoraproject.org
|
|
user: root
|
|
gather_facts: False
|
|
|
|
vars_files:
|
|
- /srv/web/infra/ansible/vars/global.yml
|
|
- "/srv/private/ansible/vars.yml"
|
|
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
|
|
|
vars:
|
|
upstream: "https://pagure.io/fedora-badges.git"
|
|
workingdir: /srv/web/infra/badges/
|
|
local_repo: /srv/git/badges
|
|
|
|
tasks:
|
|
- name: Make a tmp directory
|
|
tempfile:
|
|
state: directory
|
|
suffix: _badges_tempdir
|
|
register: tmp
|
|
|
|
- set_fact:
|
|
tempdir: "{{tmp.path}}"
|
|
|
|
- name: clone the local bare repo
|
|
git:
|
|
dest: "{{tempdir}}"
|
|
repo: "{{local_repo}}"
|
|
remote: origin
|
|
update: yes
|
|
|
|
- name: add pagure as a second remote
|
|
command: git remote add pagure {{upstream}}
|
|
args:
|
|
chdir: "{{tempdir}}"
|
|
|
|
- name: pull down changes from pagure
|
|
command: git pull pagure master
|
|
args:
|
|
chdir: "{{tempdir}}"
|
|
|
|
- name: push pagure changes back to the lockbox bare repo
|
|
command: git push origin master
|
|
args:
|
|
chdir: "{{tempdir}}"
|
|
|
|
- name: clean up that temporary {{tempdir}} dir
|
|
file:
|
|
dest: "{{tempdir}}"
|
|
state: absent
|
|
|
|
- name: fix the working dir repo to use the right location
|
|
command: git remote set-url origin {{local_repo}}
|
|
args:
|
|
chdir: "{{workingdir}}"
|
|
|
|
- name: and pull those commits from the bare repo to the working dir
|
|
command: git pull origin master
|
|
args:
|
|
chdir: "{{workingdir}}"
|
|
|
|
handlers:
|
|
- import_tasks: "{{ handlers_path }}/restart_services.yml"
|
|
|
|
- name: copy new badge art over to the badges web nodes
|
|
hosts: badges_web:badges_web_stg
|
|
user: root
|
|
gather_facts: False
|
|
|
|
vars_files:
|
|
- /srv/web/infra/ansible/vars/global.yml
|
|
- "/srv/private/ansible/vars.yml"
|
|
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
|
|
|
roles:
|
|
- badges/frontend
|
|
|
|
handlers:
|
|
- import_tasks: "{{ handlers_path }}/restart_services.yml"
|
|
|
|
- name: copy any new badges rules over to the badges backend and restart it
|
|
hosts: badges_backend:badges_backend_stg
|
|
user: root
|
|
gather_facts: False
|
|
|
|
vars_files:
|
|
- /srv/web/infra/ansible/vars/global.yml
|
|
- "/srv/private/ansible/vars.yml"
|
|
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
|
|
|
roles:
|
|
- badges/backend
|
|
|
|
handlers:
|
|
- import_tasks: "{{ handlers_path }}/restart_services.yml"
|
|
|
|
- name: run /usr/local/bin/update_checkout.sh
|
|
hosts: badges_web
|
|
|
|
tasks:
|
|
- command: /usr/local/bin/update_checkout.sh
|