【.com快译】OpenShift是一个基于Kubernetes编排工具的企业应用平台。它可以部署来自许多来源的应用程序,包括源代码和预构建的图像。在本文中,我将介绍Source-to-Image(S2I)以及如何使用Gitwebhook自动化整个过程。您可以在OpenShift交互式学习门户(https://learn.openshift.com/?intcmp=701f20000012ngPAAQ)上免费试用。Source-to-ImageS2I是一个过程,它获取存储在Git或SCM等源代码控制管理工具中的应用程序的源代码,使用BuildConfig将代码放在基础映像上,然后使用DeploymentConfig部署应用程序。下面这张简单的图可以帮助我们理解整个过程。在此过程中,如果开发人员更新Git上的代码,我们必须使用以下命令手动触发构建:ocstart-build图1.S2I开发人员工作流程但是,OpenShift提供了一种使用webhooks来处理BuildConfig自动触发的方法方式。看一下它的快速演示。为此,我使用在OpenShift4.2CRC上运行的learn.openshift.com。要使用S2I进程启动应用程序-一次性创建ImageStream、BuildConfig、DeploymentConfig和服务,您可以执行以下操作:$ocnew-app--name=demohttps://github.com/ashutoshbhakare/php$ocexposesvcdemo#tocreatetheroute现在,尝试使用webhooks集成OpenShift和GitHub。为此,我们需要一个webhookURL和密码来验证GitHub触发器到OpenShift。因此,每当开发人员更新GitHub源代码时,都会立即触发对OpenShift的构建。Webhook是在端口6443上运行的API调用。要获取webhook和secret,我们可以使用:$ocdescribebcdemo返回以下输出:图2.获取webhook的URL和secret在上面的例子中,按照我的learn.openshift.com在线实验室,https://openshift:6443必须替换为我们的OpenShift的主URL。要获取秘密:$ocgetbcdemo-oyaml|grepsecretsecret:N58sBgReryjBwYIBp4FVsecret:u1BaRZVDxAfvsT5lC3tX我们将使用第二个值,它用于一般的webhook:GitHub负载URL。添加网络挂钩这是在线实验室中最棘手的部分。现在让我们转到GitHub并向其添加一个webhook负载URL。只需点击设置和“选择WebHook”选项→“添加WebHook”,我们将像上面一样复制整个有效载荷URL并将秘密信息粘贴到文本框中。图3.如上复制整个负载URL并将密码粘贴到文本框中这就是GitHub和OpenShiftwebhook集成成功完成后的样子。我们可以通过更改Git代码进行测试,得到如下信息,展示的是最近一次投递的结果。图4.显示最近交付结果的网页结论Source-to-Image(S2I)通过使用Web挂钩帮助自动化启动应用程序的过程。过程很简单,您可以在OpenShift交互式学习门户上自行演示。原标题:ExploringOpenShiftSource-to-ImageusingGitwebhooks,作者:AshutoshBhakare
