# Note - API versioning - 为什么都是 beta? - Workflow 为什么不是应用级的? - dependsOn 在 Application 上(组件级) - 多环境交付 在 Workflow 上(应用级) - 精细化的组件级控制可以体现在 Workflow 上 - Initializer 和 Workflow 的关系 - dependsOn 和 template 是怎么实现的?为何不用 Workflow 实现? - 这个应该就是一个 Application + Workflow,再包一层意义比较小 - Workflow 引用另一个 Application(应用级) - CI/CD 场景怎么用 - 传统 - Jenkins - GitLab - GitHub Action - GitOps - Git layout 设计 - infra - app.yaml - workflow.yaml - prod - policy.yaml - test - policy.yaml - app - app.yaml - workflow.yaml - prod - policy.yaml - test - policy.yaml - ArgoCD - FluxCD - 其它文档问题 - 大小写不一致等 - 插件系统是管理员文档 - 用户文档中不能四处出现 Flux、OCM 等干扰信息,更不要四处开启 XXX Addon - 理想汽车 删掉 - 多集群场景 删掉重写,需要增加的是 CI/CD 场景(见上) - Terraform 根本没有文档 - 用户文档要以功能来划分 https://pipecd.dev/docs/user-guide/ ```yaml= apiVersion: core.oam.dev/v1beta1 kind: Application metadata: name: multi-env-demo namespace: default spec: components: - name: nginx-server type: webservice properties: image: nginx:1.21 port: 80 policies: - name: test-env type: env-binding properties: created: false envs: - name: test patch: components: - name: nginx-server type: webservice properties: image: nginx:1.20 port: 80 placement: clusterSelector: labels: purpose: test - name: prod-env type: env-binding properties: created: false envs: - name: prod patch: components: - name: nginx-server type: webservice properties: image: nginx:1.20 port: 80 placement: clusterSelector: labels: purpose: prod pipeline: steps: - name: deploy-test-server # 指定步骤类型 type: multi-env properties: # 指定组件名称 component: nginx-server # 指定 policy 名称 policy: test-env # 指定 policy 中的 env 名称 env: test - name: manual-approval # 工作流内置 suspend 类型的任务,用于暂停工作流 type: suspend - name: deploy-prod-server type: multi-env properties: component: nginx-server policy: prod-env env: prod ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up