github - 在 google 计算引擎上动态部署 Jenkins slaves 以进行 github 提交

标签 github jenkins google-compute-engine

这是一个整合问题:

我想在 Google Compute Engine 上运行 Jenkins。我可以做到这一点,但如果我让 8 核虚拟机一直运行,我很快就会超出预算。作为一种解决方案,我认为我可以让一个内存量低的微实例保持开启状态,并始终充当 jenkins 主控器运行。似乎我应该能够配置 github 以在执行推送时启动 jenkins slave(具有 8 个内核)。如何将 github post-commit Hook 连接到 Google Compute Engine 以实现此目的?完整的答案可能要求太多,但即使只是指向相关文档的指针也会有所帮助。

或者,您将如何解决我的问题?

最佳答案

您可以运行 AppEngine 实例并使用它提供的 URL 作为 GitHub on-commit web hook 的目标。这样,除非实例实际运行,否则不会向您收费,这甚至可能比在 Compute Engine 上 24x7 运行微实例更便宜。

然后,您可以在 Compute Engine 上启动/停止实例,或通过在 App Engine 上运行的代码触发对它们的操作。

这是一个 related question其中有一个关于如何从 AppEngine 上运行的代码向 Compute Engine 进行身份验证的答案。

关于github - 在 google 计算引擎上动态部署 Jenkins slaves 以进行 github 提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25223102/

相关文章:

github - 如何使用 GitHub Actions 对构建工件进行版本控制?

github - 致命的 : adding files failed

windows - 如何将自定义 displayName 设置为 Jenkins 管道作业?

c++ - 在两个 Jenkins 构建中的文件之间运行特定的 diff 命令

google-cloud-platform - Google Cloud 如何减少磁盘大小?

azure - 在 Azure DevOps Server 上创建构建 zip,例如 github

Github:在 pull 请求期间 merge 提交

javascript - "style-src ' self ' https://maxcdn.bootstrapcdn.com/bootstrap/"。 'unsafe-inline' 关键字,哈希

python - Google Cloud VM 在部署时创建新版本

tomcat - java进程在f1 micro中死亡