Platform CI tests / QuickStack deploy action tests (push) Successful in 23s
38 lines
1.5 KiB
Markdown
38 lines
1.5 KiB
Markdown
# Platform CI
|
|
|
|
This repository is the central, public source for Nuvisphere's Gitea scoped workflows and the shared QuickStack OCI action.
|
|
|
|
Workflow code contains no credentials. Each consuming organization supplies its own `REGISTRY_USERNAME`, `REGISTRY_TOKEN` and `QUICKSTACK_API_TOKEN` Actions secrets. Organization-owned `Platform-CI` repositories only provide the scoped workflow entrypoint and call this central action.
|
|
|
|
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": "nuvisphere/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.
|