云客户?
免费开始>
在MyJFrog >中升级
云有什么新>





概述

此管道演示了构建的简单管道的定义一个Docker Image和Helm Chart,并使用蓝色/绿色策略将其部署到Kubernetes集群。一个管道DSL用于展示如何使用集成、资源和步骤来构造一个简单的自动化工作流。2022世界杯阿根廷预选赛赛程

该管道执行以下任务序列:

页面内容

在本快速入门中,管道的成功运行是这样的:


开始之前

在尝试这个例子之前,请确保您具备:

  • 一个GitHub账户。这是派生示例存储库所必需的。
  • 一个JFrog平台账户或自托管JFrog管道
  • 至少一个节点池。这是所有管道步骤将在其中执行的节点集。有关更多信息,请参见管理管路节点池

    如果您有云帐户,则节点池将作为订阅的一部分可用。

运行这个例子

按照下面的步骤来构建你的Go二进制代码:

  1. Fork存储库

    该管道示例可在jfrog-pipelines-helm-blue-green-sample存储库中的JFrogGitHub帐户。配置包含在存储库根目录下的YAML文件中:
    • pipelines.yml,其中包含运行管道所需的所有资源和步骤的声明。2022世界杯阿根廷预选赛赛程该配置是以模板格式编写的,您不需要更改该文件中的任何内容。
    • values.yml,其中包含将被填充到模板中以创建管道的自定义值。
    Fork这个存储库到您的帐户或组织。这很重要,因为您需要对管道中使用的存储库进行管理访问,以使管道能够将webhook添加到这些存储库并侦听更改事件。

  2. 登录到Artifactory

    用您的Artifactory证书登录JFrog平台。

  3. 创建所需的存储库

    创建以下将在管道配置中使用的存储库:
    • docker-local:一个本地Docker存储库你的图片将在哪里发布。
    • docker-remote:一个远程Docker存储库这个代理https://registry-1.docker.io/
    • 码头工人:一个虚拟Docker存储库它聚合本地和远程存储库,并在管道定义中用于解析依赖项。
      中选择了本地和远程存储库存储库节,同时创建虚拟回购。此外,确保您选择本地存储库作为默认部署存储库
    • helm-local:一个本地Helm存储库你的图表将在哪里出版。
    • :一个虚拟舵手存储库它聚合本地和远程存储库,并在管道定义中用于解析依赖项。
      中选择了本地存储库存储库节,同时创建虚拟回购。此外,确保您选择本地存储库作为默认部署存储库


  4. 添加集成

    a.转至政府|管道|集成添加三个积分
    • GitHub集成:此集成用于添加Pipeline源,以及GitRepo资源。
    • Artifactory集成该集成用于与Artifactory进行身份验证,以解析依赖关系,并将构建的二进制文件发布到Artifactory。
    • Kubernetes集成:该集成用于与Kubernetes集群进行身份验证,以部署图表和创建角色服务。
    b.写下所有积分的名称,因为这些是下一个步骤.确保名字是唯一的,容易记住。

  5. 更新pipeline定义

    因为你pipelines.yml配置文件是模板化的,你可以更新values.yml按照下面的说明在您的分叉存储库中。

    标签 描述 例子
    gitRepo.gitProvider 提供您添加的Github集成的名称步骤4 gitProvider: my_github
    gitRepo.path 提供这个存储库的分支的路径。 路径:myuser / jfrog-pipelines-helm-blue-green-sample
    gitRepo.branch 提供用于解析源代码的分支。 主要分支:
    appImage.registry 提供您添加的Artifactory集成的名称步骤4 注册中心:my_artifactory
    appImage.registryUrl 向Artifactory环境提供url。 registryUrl: myartifactory.myorg.com
    appChart.sourceArtifactory 提供您添加的Artifactory集成的名称步骤4 sourceArtifactory: my_artifactory
    runtime.k8s_integration 提供您添加的Kubernetes集成的名称步骤4 k8s_integration: my_k8s
    runtime.namespace 提供将部署Helm图的Kubernetes名称空间的名称。 名称空间:my_namespace

    就是这样。您的配置已经准备好了!

    在一个项目中,所有的管道定义都是全局的。管道和资源的名称在内部必须是唯一的2022世界杯阿根廷预选赛赛程项目位于JFrog管道。

  6. 添加管道源

    管道源表示存储管道定义文件的git存储库。管道源通过控件连接到存储库集成,这是我们添加进去的步骤4
    1. 在左侧导航栏中,转到管理|管道|管道源.点击添加管道源然后选择从YAML.遵照指示添加管道源这将自动将您的配置添加到平台,并根据您的YAML创建管道。
    2. 管道源同步成功后,导航到管道,我的管道在左侧导航栏查看新添加的管道。在这个例子中,helm_blue_green_pipeline是管道的名称。
    3. 单击管道的名称。这将呈现管道及其最新运行结果的实时交互式图表。

  7. 执行管道

    您可以通过向存储库提交更改来触发管道,也可以通过UI手动触发管道。



  8. 年代uccess !

    你已经成功地执行了Helm Blue/Green管道!您可以通过查看部署到Kubernetes集群的Services来验证结果。


管道定义说明

现在让我们看一下管道定义文件以及每个部分的含义。

pipelines.yml文件包含管道的模板化定义。这包括以下内容:

  • 2022世界杯阿根廷预选赛赛程资源是包含由管道步骤消耗或生成的信息的实体。在我们的例子中,我们使用了以下资源:2022世界杯阿根廷预选赛赛程
    • 一个GitRepo资源指向当前应用程序代码所在的源代码控制存储库。您可以配置此资源来触发特定事件的相关步骤。
    • 一个图像资源,它将Docker映像的引用添加到管道中。
    • 一个HelmChart资源,将Helm Chart的引用添加到您的管道中。
  • 步骤是构成管道的可执行单元。在我们的例子中,管道由以下步骤组成:
    • 一个DockerBuild基于git repo中的Dockerfile构建Docker映像的本地步骤。
    • 一个DockerPush本机步骤,将构建的图像发布到Artifactory。
    • 一个HelmPublish本机步骤,打包并发布您的舵图到Artifactory。
    • 一个HelmBlueGreenDeploy使用蓝色/绿色部署策略将Helm Chart部署到Kubernetes集群的本地步骤。该图表将使用扮演Idle角色的发布的详细信息进行部署,并且将创建或更新配置的Idle角色Services。可以在这一步和下一步之间添加任何用于确保新版本可供用户使用的最后阶段验证。
    • 一个HelmBlueGreenRoleSwitch本机步骤,将部署的Helm发布提升到蓝/绿策略中的Live角色。将创建或更新已配置的Live角色Services。可以在此步骤之后添加任何用于确保新发布成功的发布后验证。如果验证不成功,可以在下游添加此步骤的副本以回滚版本。
    • 一个HelmBlueGreenCleanup本机步骤卸载任何以前部署的Helm版本。
  • 没有标签
版权所有©2022 JFrog Ltd.