Docker Hub允许您在使用钩子的自动构建和测试过程中覆盖和自定义build,test和push命令。例如,您可以使用构建挂钩来设置仅在构建过程中使用的构建参数。
请谨慎使用这些挂钩。这些挂钩文件的内容替换了基本Docker命令,因此您必须在挂钩中包含类似的build,test或push命令,否则自动过程将无法完成。
要覆盖这些阶段,请在源代码存储库中创建一个与Dockerfile位于同一目录级别的文件夹。创建一个名为hooks/build,hooks/test或hooks/push的文件,并包含构建器进程可以执行的命令,例如Docker和bash命令(以适当地前缀#!/bin/bash)。
这些挂钩将在基于Ubuntu的发行版Amazon Linux 2的实例上运行,该实例包括Perl和Python等解释器以及诸如Git或curl的实用程序。
定制构建阶段挂钩
您可以通过创建钩子在构建过程的各个阶段之间运行自定义命令。挂钩允许您为自动构建和自动测试过程提供额外的说明。
在源代码存储库中创建一个名为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(仅在执行构建规则或自动构建时使用)