copr: prepare deploy of new dist-git upstream package to copr-dist-git-dev

This commit is contained in:
clime 2017-02-13 20:58:51 +01:00
parent 7dc3dae30c
commit 3dc7d772c9
6 changed files with 52 additions and 9 deletions

View file

@ -3,6 +3,6 @@
(
flock -n 9 || exit 1
# ... commands executed under lock ...
CGIT_CONFIG="/etc/cgitrc.slow" /var/www/cgi-bin/cgit --scan-path=/var/lib/dist-git/git/rpms >/var/cache/cgit/repo-list.rc.new 2>/dev/null && mv -f /var/cache/cgit/repo-list.rc.new /var/cache/cgit/repo-list.rc
CGIT_CONFIG="/etc/cgitrc.slow" /var/www/cgi-bin/cgit --scan-path=/srv/git/repositories >/var/cache/cgit/repo-list.rc.new 2>/dev/null && mv -f /var/cache/cgit/repo-list.rc.new /var/cache/cgit/repo-list.rc
) 9>/var/lock/mylockfile

View file

@ -1,2 +1,2 @@
AliasMatch "/repo(/.*)/md5(/.*)" "/var/lib/dist-git/cache/lookaside$1$2"
Alias /repo/ /var/lib/dist-git/cache/lookaside/
AliasMatch "/repo(/.*)/md5(/.*)" "/srv/cache/lookaside$1$2"
Alias /repo/ /srv/cache/lookaside/

View file

@ -1,5 +1,5 @@
alias /lookaside /var/lib/dist-git/cache/lookaside
<Directory /var/lib/dist-git/cache/lookaside>
alias /lookaside /srv/cache/lookaside
<Directory /srv/cache/lookaside>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted

View file

@ -11,15 +11,26 @@
- name: create user for git repos
user: name="copr-dist-git" group=copr-dist-git groups=cvsadmin,packager uid=1001
- name: create user for copr-git service
user: name="copr-service" group=copr-service groups=packager generate_ssh_key=yes ssh_key_bits=2048 ssh_key_file=.ssh/id_rsa uid=1002
- name: create user for copr-dist-git service
user: name="copr-service" group=copr-service groups=packager,docker generate_ssh_key=yes ssh_key_bits=2048 ssh_key_file=.ssh/id_rsa uid=1002
- name: enable copr dist-git repo
shell: "dnf -y copr enable clime/dist-git"
when: devel
- name: install dist-git
dnf: state=latest name="dist-git"
- name: set home for copr-dist-git user
user: name="copr-dist-git" home=/srv/git
when: devel
- name: install packages
dnf: state=present name={{ item }}
with_items:
#- epel-release
- cgit
- dist-git
# - dist-git
- copr-dist-git
- rdiff-backup
- tmpwatch
@ -38,6 +49,7 @@
file: path="/var/lib/dist-git/git" state=directory group=packager mode=0775
#- file: path="/var/lib/dist-git/git/pkgs-git-repos-list" state=file group=packager
# - file: path="/var/lib/dist-git/git/rpms/" state=directory group=packager
when: not devel
- name: install packages which should be added as requirements
dnf: state=present name={{ item }}
@ -52,6 +64,11 @@
- name: make sure directories are owned by copr-service:packager user
file: path=/var/lib/dist-git/git owner=copr-service group=packager
when: not devel
- name: make sure directories are owned by root:root user
file: path=/srv/git owner=root group=root mode=0755
when: devel
# set ssh key, so that copr-service could access gitolite
- name: read pub key into var
@ -64,8 +81,17 @@
- debug: msg={{pubkey}}
- name: prepare authorized key, so copr-service could interact with gitolite
authorized_key: user="copr-dist-git" key="{{pubkey}}"
when: devel
- name: set correct selinux policy for copr-dist-git's .ssh dir
shell: 'semanage fcontext -a -t ssh_home_t "/srv/git/.ssh(/.*)?" && restorecon -R /srv/git/.ssh'
when: devel
- name: prepare authorized key, so copr-service could interact with gitolite
authorized_key: user="copr-dist-git" key="{{pubkey}}" key_options="command=\"HOME=/var/lib/dist-git/git/ /usr/share/gitolite3/gitolite-shell $USER \"'"
when: not devel
## keys done
- name: install config for copr-dist-git
@ -115,6 +141,7 @@
- template: src="cgitrc.slow" dest="/etc/cgitrc.slow" owner=root group=root mode=0644
- command: "/usr/share/dist-git/dist_git_sync.sh"
when: not devel
- name: allow httpd to run cgit
seboolean: name=httpd_enable_cgi state=true persistent=true

View file

@ -4,6 +4,22 @@
- name: mount up disk of copr repo
mount: name=/var/lib/dist-git src='LABEL=copr-dist-git' fstype=ext4 state=mounted
- name: prepare new /srv/git bind mount point
file: state=directory path=/srv/git
when: devel
- name: prepare new /srv/cache bind mount point
file: state=directory path=/srv/cache
when: devel
- name: mount up /srv/git
mount: name=/srv/git src=/var/lib/dist-git/git fstype=ext4 opts=rw,bind state=mounted
when: devel
- name: mount up /srv/cache
mount: name=/srv/cache src=/var/lib/dist-git/cache fstype=ext4 opts=rw,bind state=mounted
when: devel
- name: prepare mount point
file: state=directory path=/var/lib/copr-dist-git

View file

@ -80,6 +80,6 @@ mimetype.svg=image/svg+xml
#repo.owner=fooman@example.com
#repo.readme=info/web/about.html
project-list=/var/lib/copr-dist-git/cgit_pkg_list
#scan-path=/var/lib/dist-git/git/rpms
#scan-path=/srv/git/repositories
include=/var/cache/cgit/repo-list.rc
clone-prefix=http://{{ dist_git_base_url }}/git