45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
# Platform CI
|
|
|
|
This repository is the central, public source for Nuvisphere's Gitea scoped
|
|
workflows. Workflow code contains no credentials. Each consuming owner or
|
|
organization supplies its own `REGISTRY_USERNAME`, `REGISTRY_TOKEN` and
|
|
`QUICKSTACK_API_TOKEN` Actions secrets.
|
|
|
|
Repositories opt into deployment by committing `.quickstack/deploy.json`.
|
|
The central workflow builds every declared target once, publishes an immutable
|
|
`sha-<commit>` OCI tag to the Gitea Container Registry and changes QuickStack
|
|
to the exact `@sha256:` digest. A failed rollout or postflight automatically
|
|
restores the previous QuickStack configuration.
|
|
|
|
Example:
|
|
|
|
```json
|
|
{
|
|
"version": 1,
|
|
"registry": "gitea.nuvisphere.de",
|
|
"deployments": [
|
|
{
|
|
"name": "production",
|
|
"branch": "main",
|
|
"targets": [
|
|
{
|
|
"name": "website",
|
|
"image": "vadimenovikau/example",
|
|
"dockerfile": "Dockerfile",
|
|
"context": ".",
|
|
"appId": "app-example-12345678",
|
|
"healthCheckTcpPort": 3000,
|
|
"postflight": {
|
|
"url": "https://example.com"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
Pull requests build all matching targets without logging in, publishing or
|
|
deploying. Pushes and manual runs publish and deploy. The commit marker
|
|
`[skip quickstack-deploy]` skips a push deliberately.
|