citest_publish #5

Merged
lucas merged 15 commits from citest_publish into master 2022-08-29 20:25:24 +00:00
2 changed files with 61 additions and 5 deletions

34
.drone.yml Normal file
View File

@ -0,0 +1,34 @@
---
kind: pipeline
type: docker
name: default
steps:
- name: generate PDF files from tex
image: registry.gitlab.com/islandoftex/images/texlive:latest
commands:
- pdflatex satzung.tex
- pdflatex beitragsordnung.tex
- pdflatex schluesselordnung.tex
- name: show directory contents
image: alpine
commands:
- ls
- name: merge PDF files into single file
image: pdftk/pdftk
commands:
- pdftk satzung.pdf beitragsordnung.pdf schluesselordnung.pdf cat output satzung_mit_beitrags-_und_schluesselordnung.pdf
when:
ref:
- refs/heads/master
- name: upload file to nextcloud
image: curlimages/curl
environment:
username:
from_secret: nextcloud_secret
commands:
- |
curl -k -T satzung_mit_beitrags-_und_schluesselordnung.pdf -u "$username" -H "X-Requested-With: XMLHttpRequest" https://cloud.ctdo.de/public.php/webdav/$(date +"%Y-%m-%d")_satzung_mit_beitrags-_und_schluesselordnung.pdf
when:
ref:
- refs/heads/master

View File

@ -1,13 +1,35 @@
# Satzung des CTDO e.V.
Hier soll die Satzung des CTDO e.V. gesammelt und aktualisiert werden.
Die Idee war, dass man zum einen nachvollziehen kann, wann die Satzung welchen
Hier ist die Satzung des CTDO e.V. Die Satzung wird hier im repo verwaltet und verändert.
Die Idee ist, dass man zum einen nachvollziehen kann, wann die Satzung welchen
Stand hatte und was verändert wurde.
Weiterhin ist es möglich, dass man für die Jahreshauptversammlung schon
Änderungen als Pull-Request vorbereiten kann und diese dann nur noch angenommen
werden müssen.
Der Entwurf kann direkt im master bearbeitet werden.
Die beim Vereinsregister eingetragene Version wird dann (per Pull-Request) in den Branch "vereinsregister" gemerged.
Mal sehen ob das klappt!
Der Entwurf muss in einem eigenen Branch bearbeitet werden.
Die aktuell gültige Version wird dann (per Pull-Request) in den master Branch gemerged.
Der Merge kann nur durch ein Approval stattfinden.
Nach dem Commit im Master wird automatisch eine CI Pipeline laufen welche die Satzung in die Nextcloud schiebt.
## technische details
Das erstellen der PDF Dateien passiert mit dem Docker Container von texlive bzw deren speziellen Images auf "registry.gitlab.com/islandoftex/images/texlive"
Die Automation ist in der Datei ".drone.yml" zu finden. Hier ist eine kleine Pipeline die bei jedem commit die Tex files zu PDF konvertiert.
Die Details für den Upload zu Nextcloud via Shared URL stammen von hier: https://github.com/tavinus/cloudsend.sh/blob/master/cloudsend.sh
Man nimmt einfach von dem https://cloud.ctdo.de/index.php/s/XXXXXXXX das XXXXXXX als benutzername im curl und verwendet die public.php/webdav Schnittstelle.
## uploads / erzeugte Assets
Die Uploads von der CI landen in Nextcloud beim Benutzer "lucas" der den Ordner "satzung" teilt.
Es gibt zwei Teilungs Links. Einen der nur lesen darf für die Webseite und öffentliche Verlinkungen. Sowie einen weiteren der Lesen/Schreiben darf nur für die CI. Der "Benutzername" Teil des Links ist im [DroneCI](https://ci.ctdo.de/ctdo/ctdo-Satzung/settings/secrets) in dem Projekt als Secret "nextcloud_secret" hinterlegt.
Der aktuelle öffentliche link lautet: https://cloud.ctdo.de/index.php/s/pQF5x55iTqErWHZ