Last active
May 6, 2021 13:49
-
-
Save hongchaodeng/ccaa309d894ec858aba85f5168fbc790 to your computer and use it in GitHub Desktop.
CD 跟 CI 为啥不用一套?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
kind: Application | |
spec: | |
componnets: | |
- ... # 微服务组件 | |
# policies are applied first and only once unless changed | |
policies: | |
- type: security | |
properties: | |
rbac: ... | |
sso: ... | |
audit: ... | |
secretBackend: vault | |
- type: deployment-insights | |
properties: | |
leadTime: enabled | |
frequency: enabled | |
mttr: enabled | |
- type: gitops | |
properties: | |
source: git-repo-url | |
branch: main | |
path: config/ | |
- type: placement | |
properties: | |
clusters: | |
- name: a | |
replicas: "70%" | |
traffic: "70%" | |
- name: b | |
replicas: "30%" | |
traffic: "30%" | |
# workflow is used to customize the control logic. | |
# If workflow is specified, Vela won't apply resources in Components, but provide rendered resources for further actions. | |
# workflow steps are executed in order. | |
# Each step should have a "finish mark", e.g. in resource annotation `app.oam.dev/workflow-finish = succeed/fail` | |
workflow: | |
# blue-green rollout to prod | |
- type: blue-gree-rollout | |
properties: | |
targetEnv: prod | |
rolloutPlan: | |
partition: "50%" | |
# traffic shift | |
- type: traffic-shift | |
properties: | |
targetEnv: prod | |
rolloutPlan: | |
partition: "50%" | |
# promote/rollback | |
- type: rollout-promotion | |
propertie: | |
manualApproval: true | |
rollbackIfNotApproved: true |
Author
hongchaodeng
commented
May 5, 2021
- CD 有定制化需求,要跟公司的系统 (安全、灰度、服务治理、多集群、metrics) 深度集成。
- CD 跟 CI 往往不是一个团队,要自己做一套。
- CD 有复杂的发布 pipelines,比如在不同环境里轮流发布,类似于 Keptn 的 Multi-stage Delivery.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment