Autoalojamiento
Ejecute la API de revisión de SourceAnt en su propio servidor usando la imagen de Docker publicada. Esta implementación es solo de API. Usted proporciona la base de datos, las credenciales del modelo y la GitHub App.
Para explorar código y conocimiento, gestionar habilidades y revisar cambios en su máquina, siga Configuración local.
Prepare su servidor
Necesita Docker, una base de datos PostgreSQL accesible desde los contenedores y una dirección HTTPS para las entregas de GitHub. Mantenga la API y los workers en la misma versión de imagen y configuración de base de datos.
Cree un archivo .env con la conexión de su base de datos, la clave del modelo y del proveedor, las credenciales de la GitHub App, el secreto del webhook y el secreto JWT. Use la
plantilla de entorno
como referencia y reemplace sus valores de marcador de posición.
Inicie la API
La imagen publicada es ghcr.io/sourceant/sourceant. Estos comandos usan
latest; fije una etiqueta de imagen publicada para una implementación de producción repetible. Ejecútelos desde el directorio que contiene su archivo .env y la clave privada de la GitHub App.
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 La imagen aplica las migraciones de la base de datos antes de iniciar la API en el puerto 8000. Asegúrese de que el usuario del contenedor pueda leer la clave privada montada.
docker logs sourceant-api
curl http://127.0.0.1:8000/
Compruebe que la API responde antes de iniciar los workers. Coloque su proxy inverso HTTPS delante del puerto 8000. La referencia de la API está disponible en /docs.
Inicie el worker de revisión
Con la cola SQL, ejecute un worker usando la misma base de datos y credenciales:
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
Ejecute workers para los carriles batch y background según sea necesario para otro trabajo en cola. Consulte la referencia de implementación
para la configuración y las opciones de los workers.
Conecte su GitHub App
- Cree una GitHub App para este servidor.
-
Establezca su URL de webhook en
https://your-domain.com/api/prs/github-webhooky su secreto de webhook en el valor deGITHUB_SECRET. - Conceda Contenido: Solo lectura y Solicitudes de extracción: Lectura y escritura, y suscríbase a los eventos de Solicitud de extracción .
-
Establezca
GITHUB_APP_IDyGITHUB_APP_CLIENT_IDen su archivo de entorno y monte la clave privada de la App en ambos contenedores. - Instale la App en los repositorios que desea revisar.
Aplique la configuración de la App antes de iniciar los contenedores. Abra una solicitud de extracción para comprobar la entrega y el procesamiento, usando el historial de entregas de la App y los registros del worker. Consulte Configuración de la GitHub App para la configuración completa.