为你的管道建立模板所需要知道的一切

来自GitHub Actions的标志
简介
大家好,我希望你们今天过得很愉快。这篇文章是为那些想把流水线提升到另一个层次的人准备的。今天我们将讨论GitHub动作中的模板,你将看到它如何在未来的项目中节省你的时间。
最初的概念
要理解这篇文章,我们需要知道关于这个工具的一些基本概念,以及这些作品是如何工作的。要对这种类型的内容感兴趣,可能你每天都在使用 GitHub 动作,并且知道这些概念(你可以跳过本节),但如果不是这样,让我们深入了解一下。
工作流
工作流是一个可编程的自动化流程,可以完成一项或多项工作。我们在仓库中创建的YAML文件中定义一个工作流,并由仓库中的自动事件或手动或预定事件触发。
为了让GitHub识别工作流,我们必须在以下路径中定义YAML文件:.github/workflows,我们可以有多个文件,可以执行不同的任务集。
根据GitHub上的文档,一个工作流必须包含这些基本概念。
- 一个或多个事件将触发该工作流。
- 一个或多个作业,每个作业将在运行器机器上执行,并运行一系列的一个或多个步骤。
- 每个步骤既可以运行你定义的脚本,也可以运行一个动作,这是一个可重复使用的扩展,可以简化你的工作流程。
工作
正如我们之前看到的,一个工作流程是由一个或多个作业组成的,基本上一个作业就定义了你的工作流程要做的工作。比如说。如果你必须运行测试和lint,我们将为每个执行定义一个作业。
默认情况下,工作是平行运行的,这意味着它们不会等待最新的执行继续进行,但如果我们需要,我们可以使用标签needs来实现这种行为。
让我们看看下面一个所有东西都在一起的简短例子。
模板
有时我们的流水线代码会变成很大的东西,因为我们需要执行很多步骤来实现目标,而且很多时候我们必须在不同的时刻执行相同的操作。模板可以帮助我们解决这个问题,因为我们只需要调用动作,传递所需的值,这是一种组织管道代码的方法。
如何实现
在GitHub Actions中实现模板很简单,我们所要做的就是创建一个文件夹,并将一个名为action.yamlin的YAML文件放在路径中。一般来说,我用一个建议来命名这个文件夹,例如:如果我必须生成一个docker镜像,那么这个文件夹的名字就是docker,最后的路径是docker/action.yaml。
让我们设想一下,我们必须创建一个CI,将我们的应用程序部署到生产/阶段。让我们开始吧。
- 在文件夹中创建行动。
在这个例子中,路径将是template/deploy/action.yaml,代码将类似于此。
2.2.让我们在工作流中调用该模板。
在这之后,我们部署应用程序的模板就完成了,我们可以有多个工作流,在不同的环境中进行部署。这是一个非常简单的例子,但你可以根据你的需要进行调整。
今天就讲到这里。如果你喜欢,而且这些内容对你有帮助,请让我知道,并给我留下一个掌声:)
Github行动。如何创建模板》最初发表在《Dev Genius》杂志上,人们通过强调和回应这个故事来继续对话。