2
2
- event : push
3
3
- event : pull_request
4
4
5
- variables :
6
- - &docker_config
7
- DOCKER_CACHE : /woodpecker/cache/docker
8
- - &minio_config
9
- MINIO_HOST : https://s3.kclab.cloud
10
- MINIO_ACCESS_KEY :
11
- from_secret : minio_access_key
12
- MINIO_SECRET_KEY :
13
- from_secret : minio_secret_key
14
- MINIO_BUCKET : cache-53030
15
-
16
5
clone :
17
6
git :
18
7
image : woodpeckerci/plugin-git:2.6
@@ -21,22 +10,39 @@ clone:
21
10
partial : false
22
11
23
12
steps :
24
- - name : open cache
25
- image : minio/mc:latest
26
- environment :
27
- << : [*docker_config, *minio_config]
28
- commands :
29
- - mkdir --parents $${DOCKER_CACHE}
30
- - touch $${DOCKER_CACHE}/.keep
31
- - mc alias set minio $${MINIO_HOST} $${MINIO_ACCESS_KEY} $${MINIO_SECRET_KEY}
32
- - mc cp --recursive minio/$${MINIO_BUCKET}/${CI_REPO}/docker/ $${DOCKER_CACHE}/
33
- failure : ignore
34
-
35
13
- name : tagging
36
14
image : mcp/git:latest
37
15
commands :
38
16
- git describe --tags | tee .tag
39
17
18
+ - name : credential
19
+ image : python:3.12
20
+ commands :
21
+ - echo AWS_ACCESS_KEY_ID=$${AWS_ACCESS_KEY_ID} >> .env
22
+ - echo AWS_SECRET_ACCESS_KEY=$${AWS_SECRET_ACCESS_KEY} >> .env
23
+ - cat .env
24
+ environment :
25
+ AWS_ACCESS_KEY_ID :
26
+ from_secret : minio_access_key
27
+ AWS_SECRET_ACCESS_KEY :
28
+ from_secret : minio_secret_key
29
+ when :
30
+ - event : push
31
+
32
+ - name : credential
33
+ image : python:3.12
34
+ commands :
35
+ - echo AWS_ACCESS_KEY_ID=$${AWS_ACCESS_KEY_ID} >> .env
36
+ - echo AWS_SECRET_ACCESS_KEY=$${AWS_SECRET_ACCESS_KEY} >> .env
37
+ - cat .env
38
+ environment :
39
+ AWS_ACCESS_KEY_ID :
40
+ from_secret : readonly_minio_access_key
41
+ AWS_SECRET_ACCESS_KEY :
42
+ from_secret : readonly_minio_secret_key
43
+ when :
44
+ - event : pull_request
45
+
40
46
- name : docker
41
47
image : woodpeckerci/plugin-docker-buildx:6-insecure
42
48
settings :
@@ -46,20 +52,31 @@ steps:
46
52
from_secret : gitea_package
47
53
registry : git.kclab.cloud
48
54
tags_file : .tag
49
- cache-to : type=local,dest=/woodpecker/cache /docker
55
+ cache-to : type=s3,bucket=cache-53030,region= local,endpoint_url=https://s3.kclab.cloud,prefix=${CI_REPO} /docker/,mode=max
50
56
cache-from :
51
- - type=local\\,src=/woodpecker/cache/docker
57
+ - type=s3\\,bucket=cache-53030\\,region=local\\,endpoint_url=https://s3.kclab.cloud\\,prefix=${CI_REPO}/docker/
58
+ env_file : .env
52
59
buildkit_config : |
53
60
[registry."docker.io"]
54
61
mirrors = ["https://docker.mirrors.kclab.cloud/"]
55
62
build_args :
56
63
PYPI_MIRROR : https://mirrors.ustc.edu.cn/pypi/simple
64
+ when :
65
+ - event : push
57
66
58
- - name : save cache
59
- image : minio/mc:latest
60
- environment :
61
- << : [*docker_config, *minio_config]
62
- commands :
63
- - mc alias set minio $${MINIO_HOST} $${MINIO_ACCESS_KEY} $${MINIO_SECRET_KEY}
64
- - mc cp --recursive $${DOCKER_CACHE}/ minio/$${MINIO_BUCKET}/${CI_REPO}/docker/
65
- failure : ignore
67
+ - name : docker
68
+ image : woodpeckerci/plugin-docker-buildx:6-insecure
69
+ settings :
70
+ repo : git.kclab.cloud/hzhangxyz/qmb
71
+ dry_run : true
72
+ tags_file : .tag
73
+ cache-from :
74
+ - type=s3\\,bucket=cache-53030\\,region=local\\,endpoint_url=https://s3.kclab.cloud\\,prefix=${CI_REPO}/docker/
75
+ env_file : .env
76
+ buildkit_config : |
77
+ [registry."docker.io"]
78
+ mirrors = ["https://docker.mirrors.kclab.cloud/"]
79
+ build_args :
80
+ PYPI_MIRROR : https://mirrors.ustc.edu.cn/pypi/simple
81
+ when :
82
+ - event : pull_request
0 commit comments