Beiträge zu “gitea”

Gitea Repository aus FreeBSD Jail clonen

Bei einem Gitea Server den ich nach dieser Beschreibung eingerichtet habe bin ich beim Versuch aus einem FreeNAS Jail ein Repo zu clonen auf diese Fehlermeldung gestoßen

git clone https://git2blog:git2blog@gitea.yourdomain.net/blogs/gitea-test.git
Klone nach 'gitea-test' ...
fatal: konnte nicht auf 'https://gitea.yourdomain.net/blogs/gitea-test.git/' zugreifen: server certificate verification failed. CAfile: none CRLfile: none

Anscheinend hat das Jail das Letsencrypt Certificate nicht. Es klappte besser wenn ich in der NGinx Konfiguration

ssl_certificate     "/usr/local/etc/letsencrypt/live/git.yourdoamin.net/cert.pem";

auf

ssl_certificate     "/usr/local/etc/letsencrypt/live/git.yourdoamin.net/chain.pem";

geändert habe

14.5.20
Weitere Beiträge zu: gitea   letsencrypt   FreeBSD   FreeNAS   Jails  

Gitea CI/CD für Arme

Für den Betrieb meiner Webseiten war ich auf der Suche nach einer Möglichkeit direkt beim Einchecken einer neuer Version einen bestimmten Befehl auf dem Gitea Server auszuführen. Gitea bietet dafür die Möglichkeit von Webhooks. Dort werden bei einer Aktion Web Requests abgesendet die in einer grösseren Installation an einen CI/CD Server gehen und dort dafür sorgen das Tests durchgeführt werden oder der Quellcode compiliert werden.

Da mir so eine CI/CD Plattform zu komplex für so eine kleine Aufgabe ist wollte ich eine kleinere schlanke Lösung und bin hier fündig geworden.

vi gitea-webhook.py 

    import web 
    import subprocess
    import json
    import requests
    urls = ('/blogs', 'hooks')
    app = web.application(urls, globals())

    class hooks:
        def POST(self):
            data = web.data().decode(encoding='UTF-8',errors='strict')
            data = json.loads(data)
            print ("New commit to: {}".format(data['repository']['name']))
            subprocess.run(["/root/websites/sync-blog.sh", data['repository']['name']])
            return 'OK'

    if __name__ == '__main__':
        app.run()

python gitea-webhook.py

Jetzt wird ein Webserver gestartet den man in Gitea bei einem Repository als Webhook eintragen kann. Dann wird bei jedem push auf das Repository auf dem Gitea Server das Programm sync-blog.sh mit dem Namen des Repository als Parameter aufgerufen. In meinem Fall wird dort das Repository ausgecheckt und auf einen Webserver mit rsync synchronisiert und mit Jekyll zu meinem Blog verarbeitet.

Gitea
5.5.20
Weitere Beiträge zu: gitea   python  

Dies ist ein privater Blog von Hagen Bauer- berufstätiger Vater, Ehemann, Naturliebhaber, Läufer, Zelter, technikverliebt.


Creative Commons License
This blog is licensed under a Creative Commons License