Bazel 使用构建系统运行测试或与集群交互

Bazel 使用构建系统运行测试或与集群交互,bazel,Bazel,下面这些使用Bazel的项目的目的是什么,而不是构建软件 它们只是方便地为run命令提供了环境(与构建可移植可执行文件相反),还是我遗漏了什么 据我所知,Bazel只能用于运行E2E测试的子集,这取决于所改变的知识。免责声明:我对k8s和docker只有粗略的了解 Bazel不仅用于构建和测试,还可以部署,正如您在这些项目中发现的规则一样 我能说的最好的一点是,根据所改变的知识,Bazel只能用于运行E2E测试的子集 正确,但也将测试扩展到部署。如果您只更改了注入图像的Go二进制文件中的

下面这些使用Bazel的项目的目的是什么,而不是构建软件

它们只是方便地为
run
命令提供了环境(与构建可移植可执行文件相反),还是我遗漏了什么


据我所知,Bazel只能用于运行E2E测试的子集,这取决于所改变的知识。

免责声明:我对k8s和docker只有粗略的了解

Bazel不仅用于构建和测试,还可以部署,正如您在这些项目中发现的规则一样

我能说的最好的一点是,根据所改变的知识,Bazel只能用于运行E2E测试的子集

正确,但也将测试扩展到部署。如果您只更改了注入图像的Go二进制文件中的单个字符串,Bazel可以使用rules_k8s、rules_docker和rules_Go to:

  • 以增量和重复的方式将最小文件集重建为 构建新的Go可执行文件
  • 创建包含Go可执行文件的新图像层(不使用Docker)
  • 将图像推送到注册表
  • 将已更改的pod重新部署到群集
  • 值得注意的是,如果不更改源文件,Bazel将始终创建具有相同摘要的图像,因为它具有可复制性。这意味着您现在可以相信部署工作流不会重新部署/重新启动pod,即使您执行
    bazel运行两次或更多次

    有关更多信息,请查看2017年BazelCon讲座:


    有趣的事实:从0.15.0开始,您还可以使用
    bazel run
    为构建目标启动REPL。规则就是这么用的。

    免责声明:我对k8s和docker只有粗略的了解

    Bazel不仅用于构建和测试,还可以部署,正如您在这些项目中发现的规则一样

    我能说的最好的一点是,根据所改变的知识,Bazel只能用于运行E2E测试的子集

    正确,但也将测试扩展到部署。如果您只更改了注入图像的Go二进制文件中的单个字符串,Bazel可以使用rules_k8s、rules_docker和rules_Go to:

  • 以增量和重复的方式将最小文件集重建为 构建新的Go可执行文件
  • 创建包含Go可执行文件的新图像层(不使用Docker)
  • 将图像推送到注册表
  • 将已更改的pod重新部署到群集
  • 值得注意的是,如果不更改源文件,Bazel将始终创建具有相同摘要的图像,因为它具有可复制性。这意味着您现在可以相信部署工作流不会重新部署/重新启动pod,即使您执行
    bazel运行两次或更多次

    有关更多信息,请查看2017年BazelCon讲座:

    有趣的事实:从0.15.0开始,您还可以使用
    bazel run
    为构建目标启动REPL。规则就是这样