Velero 二次开发-01

举报
kaliarch 发表于 2022/04/04 20:24:05 2022/04/04
【摘要】 一 准备工作 1.1 开始之前熟悉行为准则Code of Conduct。参阅 CONTRIBUTING.md以获取开发准则。 1.2 创建设计文档拥有一个高层次的设计文档,其中包含建议的变更和影响,可以帮助维护人员评估是否应该合并一个主要变更。要发出设计拉请求,可以将 design/_ template.md 文件中的模板复制到新的 Markdown 文件中。 1.3 寻找路径你可以加入...

一 准备工作

1.1 开始之前

1.2 创建设计文档

拥有一个高层次的设计文档,其中包含建议的变更和影响,可以帮助维护人员评估是否应该合并一个主要变更。要发出设计拉请求,可以将 design/_ template.md 文件中的模板复制到新的 Markdown 文件中。

1.3 寻找路径

你可以加入 Velero 社区,以不同的方式做出贡献,包括帮助我们设计或测试新功能。对于任何我们考虑添加的重要特性,我们从设计文档开始。你可以在这里找到一个正在进行中的新设计的列表: https://github.com/vmware-tanzu/velero/pulls?q=is%3Aopen+is%3Apr+label%3Adesign。请随时回顾并帮助我们完成您的输入。您还可以使用: + 1: 和:-1: 对问题进行投票,正如我们的功能增强请求和 Bug 问题模板中所解释的那样。这将帮助我们量化问题的重要性并对其进行优先排序。关于如何与我们的维护者和社区联系的信息,参加我们的在线会议,或者找到好的第一个问题,可以从我们的 Velero 社区页面开始。请浏览我们的资源列表,包括过去的在线社区会议、博客文章和其他资源的播放列表,以帮助您熟悉我们的项目: Velero 资源。

二 开始开发

2.1 更新生成文件

会pull一个velero/build-image 的镜像

如果您做了以下更改,请运行 make update 以重新生成文件:

  • Add/edit/remove command line flags and/or their help text
  • Add/edit/remove commands or subcommands
  • Add new API types
  • Add/edit/remove plugin protobuf message or service definitions

下面的文件是从源代码自动生成的:

  • The clientset
  • Listers
  • Shared informers
  • Documentation
  • Protobuf/gRPC types

您可以运行 make verify 以确保所有生成的文件(clientset、listers、shared informers、docs)都是最新的。

2.2 Linting

您可以运行 make lint 来执行构建映像中的 golangci-lint,或者执行构建映像外部的 local-lint。两者都使 lint 和使局部-lint 将只运行临时对变化。

使用 lint-all 对整个代码库运行 linter。 默认的 linter 是通过 LINTERS 变量在 Makefile 中定义的。 您还可以通过运行命令来覆盖默认的 linter 列表

$ make lint LINTERS=gosec

2.3 单元测试

make test

2.4 vendor 依赖

如果您需要添加或更新供应商依赖项,请参阅供应商:Vendoring dependencies.

2.5 使用主分支

如果您正在开发或使用主分支,请注意您可能需要更新 Velero CRD 以在其他开发工作完成时获得新的更改。

$ velero install --crds-only --dry-run -o yaml | kubectl apply -f -

注意: 如果 Velero CLI 无法发现 Kubernetes 首选的 CRD API 版本,则可以更改默认的 CRD API 版本(v1beta1或 v1)。Kubernetes 版本 < 1.16的首选 CRD API 版本是 v1beta1;

Kubernetes 版本 > = 1.16的首选 CRD API 版本是 v1。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。