cod*_*123 0 code-generation go kubernetes client-go
我正在尝试使用 k8s.io/code-generator 生成客户端代码。这些是我遵循的说明:https://itnext.io/how-to-generate-client-codes-for-kubernetes-custom-resource-definitions-crd-b4b9907769ba
我的问题是,我的 go 模块是否需要存在于存储库中,或者我可以简单地在仅存在于我的本地系统而不是任何存储库上的 go 模块上运行generate-groups.sh 脚本吗?
我已经尝试过运行它,据我了解,需要有一个存储库包含我的本地 go 模块的所有内容。我的理解正确吗?
小智 8
您可以在仅存在于本地系统上的 go 模块上运行kubernetes/code-generator \ 的generate-groups.sh。代码生成器和模块都不需要位于您的GOPATH.
将kubernetes/code-generator克隆到新目录中。
\n\n$HOME/somedir\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 code-generator\nRun Code Online (Sandbox Code Playgroud)\n\n创建了一个名为myrepo并模拟它的项目,其内容类似于sample-controller。为了简单起见,将其放在同一目录中。
somedir\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 code-generator\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 myorg.com\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 myrepo # mock of sample-controller\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 go.mod\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 go.sum\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 pkg\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 apis\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 myorg\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 register.go\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 v1alpha1\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 doc.go\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 register.go\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 types.go\nRun Code Online (Sandbox Code Playgroud)\n\n我的 go.mod 看起来像
\n\nmodule myorg.com/myrepo\n\ngo 1.14\n\nrequire k8s.io/apimachinery v0.17.4\nRun Code Online (Sandbox Code Playgroud)\n\n然generate-group.sh。该-h标志指定要使用哪个头文件。该-o标志指定输出基数,这是必要的,因为我们不在 GOPATH 中。
module myorg.com/myrepo\n\ngo 1.14\n\nrequire k8s.io/apimachinery v0.17.4\nRun Code Online (Sandbox Code Playgroud)\n\n确认代码在正确位置生成
\n\n$HOME/somedir/code-generator/generate-groups.sh all myorg.com/myrepo/pkg/client myorg.com/myrepo/pkg/apis "myorg:v1alpha1" \\\n-h $HOME/somedir/code-generator/hack/boilerplate.go.txt \\\n-o $HOME/somedir\nRun Code Online (Sandbox Code Playgroud)\n\n| 归档时间: |
|
| 查看次数: |
3012 次 |
| 最近记录: |