物联网

  • 主页
  • 物联网
  • 云计算核心技术Docker教程:Docker Hub覆盖构建和定制构建阶段挂钩

云计算核心技术Docker教程:Docker Hub覆盖构建和定制构建阶段挂钩

发布时间:2021-01-26 04:00:37 所属栏目:物联网 阅读:

Docker Hub允许您 在使用钩子的自动构建和测试过程中覆盖和自定义build,test和push命令。例如,您可以使用构建挂钩来设置仅在构建过程中使用的构建参数。(您还可以设置自定义构建阶段挂钩,以在这些命令之间执行操作。)

请谨慎使用这些挂钩。这些挂钩文件的内容替换了基本docker命令,因此您必须在挂钩中包含类似的build,test或push命令,否则自动过程将无法完成。

要覆盖这些阶段,请hooks在源代码存储库中创建一个与Dockerfile位于同一目录级别的文件夹。创建一个名为hooks/build,hooks/test或的文件 ,hooks/push并包含构建器进程可以执行的命令,例如docker和bash命令(以适当地前缀#!/bin/bash)。

这些挂钩将在基于Ubuntu的发行版Amazon Linux 2的实例上运行,该实例包括Perl和Python等解释器以及诸如git或的实用程序curl。

定制构建阶段挂钩

您可以通过创建钩子在构建过程的各个阶段之间运行自定义命令。挂钩允许您为自动构建和自动测试过程提供额外的说明。

hooks在源代码存储库中创建一个名为Dockerfile的目录。将定义挂钩的文件放在该文件夹中。挂钩文件可以同时包含docker命令和bash命令,只要它们以适当的前缀即可#!/bin/bash。构建器在每个步骤之前和之后执行文件中的命令。

以下挂钩可用:

hooks/post_checkout

hooks/pre_build

hooks/post_build

hooks/pre_test

hooks/post_test

hooks/pre_push(仅在执行构建规则或自动构建时使用)

hooks/post_push(仅在执行构建规则或自动构建时使用)