Selbsthosting
Führen Sie die SourceAnt Review API mit dem veröffentlichten Docker-Image auf Ihrem eigenen Server aus. Diese Bereitstellung ist nur die API. Sie stellen die Datenbank, die Modell-Anmeldedaten und die GitHub App bereit.
Um Code und Wissen zu erkunden, Skills zu verwalten und Änderungen auf Ihrem Rechner zu überprüfen, folgen Sie Lokale Einrichtung.
Server vorbereiten
Sie benötigen Docker, eine von den Containern aus erreichbare PostgreSQL-Datenbank und eine HTTPS-Adresse für GitHub-Zustellungen. Halten Sie API und Worker auf derselben Image-Version und Datenbankkonfiguration.
Erstellen Sie eine .env Datei mit Ihrer Datenbankverbindung, dem Modell- und Anbieterschlüssel, den GitHub App-Anmeldedaten, dem Webhook-Secret und dem JWT-Secret. Verwenden Sie die
Umgebungsvorlage
als Referenz und ersetzen Sie deren Platzhalterwerte.
API starten
Das veröffentlichte Image ist ghcr.io/sourceant/sourceant. Diese Befehle verwenden
latest; legen Sie für eine wiederholbare Produktionsbereitstellung ein veröffentlichtes Image-Tag fest. Führen Sie sie aus dem Verzeichnis aus, das Ihre .env und den privaten Schlüssel der GitHub App enthält.
docker pull ghcr.io/sourceant/sourceant:latest
docker run -d --name sourceant-api \
--env-file .env \
-e QUEUE_MODE=database \
-e GITHUB_APP_PRIVATE_KEY_PATH=/app/private-key.pem \
-v "$PWD/private-key.pem:/app/private-key.pem:ro" \
-p 127.0.0.1:8000:8000 \
ghcr.io/sourceant/sourceant:latest Das Image wendet Datenbankmigrationen an, bevor es die API auf Port 8000 startet. Stellen Sie sicher, dass der Container-Benutzer den eingebundenen privaten Schlüssel lesen kann.
docker logs sourceant-api
curl http://127.0.0.1:8000/
Prüfen Sie, ob die API antwortet, bevor Sie Worker starten. Setzen Sie Ihren HTTPS-Reverse-Proxy vor Port 8000. Die API-Referenz ist verfügbar unter /docs.
Review-Worker starten
Führen Sie mit der SQL-Warteschlange einen Worker mit derselben Datenbank und denselben Anmeldedaten aus:
docker run -d --name sourceant-worker \
--env-file .env \
-e QUEUE_MODE=database \
-e GITHUB_APP_PRIVATE_KEY_PATH=/app/private-key.pem \
-v "$PWD/private-key.pem:/app/private-key.pem:ro" \
--entrypoint sourceant \
ghcr.io/sourceant/sourceant:latest work --lane interactive
Führen Sie Worker für die batch und background Lanes nach Bedarf für andere eingereihte Arbeiten aus. Siehe die Bereitstellungsreferenz
für Konfiguration und Worker-Optionen.
GitHub App verbinden
- Erstellen Sie eine GitHub App für diesen Server.
-
Legen Sie deren Webhook-URL auf
https://your-domain.com/api/prs/github-webhookund deren Webhook-Secret auf den Wert vonGITHUB_SECRET. - fest. Gewähren Sie Contents: Read-only und Pull requests: Read & write, und abonnieren Sie Pull request -Events.
-
Legen Sie
GITHUB_APP_IDundGITHUB_APP_CLIENT_IDin Ihrer Umgebungsdatei fest, und binden Sie den privaten Schlüssel der App in beide Container ein. - Installieren Sie die App in den Repositorys, die überprüft werden sollen.
Wenden Sie die App-Konfiguration an, bevor Sie die Container starten. Öffnen Sie einen Pull Request, um Zustellung und Verarbeitung zu prüfen, und verwenden Sie dabei den Zustellungsverlauf der App und die Worker-Logs. Siehe GitHub App-Einrichtung für die vollständige Konfiguration.