ci: build and release webdrop-api and webdrop-files as separate images [CI]
- dev images are built only when the push touched code that image uses (path filters); webdrop-files does not wait for the frontend build - one v* tag releases both images (:tag and :latest) after the shared checks - registry build and push live in scripts/ci-publish-image.sh, used by every workflow - containers: fix the api Containerfile (missing Sync project), add Containerfile.files, Quadlet units for the file service (prod and dev), env examples, and registry auto-update for the production units so each machine pulls only the image it runs
This commit is contained in:
1 parent
5489407241
commit
8af4f284a0
13 files changed
+279
-71
No files matched your search
@@ -0,0 +1,51 @@
|
||||
# 主后端(含内嵌前端)的开发镜像:提交信息带 [CI],并且这次推送改到了主后端用到的代码时才构建。
|
||||
# 推送 webdrop-api:dev(开发机器的 podman auto-update 跟踪它)和 webdrop-api:dev-<提交>
|
||||
when:
|
||||
- event: push
|
||||
branch: [master, main]
|
||||
evaluate: 'CI_COMMIT_MESSAGE contains "[CI]"'
|
||||
path:
|
||||
include:
|
||||
- 'web/**'
|
||||
- 'packages/core/**'
|
||||
- 'server/Containerfile'
|
||||
- 'server/Directory.Build.props'
|
||||
- 'server/src/WebDrop.Api/**'
|
||||
- 'server/src/WebDrop.Core/**'
|
||||
- 'server/src/WebDrop.Storage/**'
|
||||
- 'server/src/WebDrop.Frontend/**'
|
||||
- 'server/src/WebDrop.FileProtocol/**'
|
||||
- 'server/src/WebDrop.Sync/**'
|
||||
- 'scripts/ci-publish-image.sh'
|
||||
- '.woodpecker/dev-image-api.yml'
|
||||
- event: manual
|
||||
|
||||
labels:
|
||||
ci: domain-linux-native
|
||||
platform: linux/amd64
|
||||
|
||||
clone:
|
||||
- name: git
|
||||
image: woodpeckerci/plugin-git:2.9.3
|
||||
settings:
|
||||
remote:
|
||||
from_secret: gitea_clone_webdrop
|
||||
lfs: false
|
||||
|
||||
depends_on:
|
||||
- ci
|
||||
- web-build
|
||||
|
||||
concurrency: 1
|
||||
|
||||
steps:
|
||||
publish-dev-image:
|
||||
image: bash
|
||||
environment:
|
||||
ZOT_USERNAME: justme
|
||||
ZOT_SECRET:
|
||||
from_secret: zot_secret
|
||||
ZOT_REGISTRY: registry.oeo.one
|
||||
commands:
|
||||
- sha="${CI_COMMIT_SHA:0:7}"
|
||||
- bash scripts/ci-publish-image.sh webdrop-api server/Containerfile "dev-$sha" dev
|
||||
Reference in new issue
Block a user