7.3. 构建触发器
存储库构建也可以由事件(如推送到 SCM、BitBucket 或 GitLab)或 调用 webhook 自动触发。
7.3.1. 创建新构建触发器
要设置构建触发器,请点击 Builds 视图 页面中的 Create Build Trigger
按钮,并按照对话框的说明进行操作。您需要授予 Red Hat Quay 对存储库的访问权限,才能设置触发器,并且您的帐户 需要对 SCM 存储库的管理员访问权限。
7.3.2. 手动触发构建触发器
要手动触发构建触发器,请单击构建触发器旁边的图标,然后选择 Run Now
。
7.3.3. 构建上下文
使用 Docker 构建镜像时,将指定一个目录来成为构建上下文。这在手动构建和构建触发器中都为 true,因为由 Red Hat Quay 执行的构建与在您自己的计算机上运行 docker build
不同。
如果未指定,Red Hat Quay 构建上下文始终是来自构建设置所指定的子目录,并将回退到构建源的根目录。触发构建后,Red Hat Quay 构建 worker 会将 git 存储库克隆到 worker 机器,并在执行构建前输入构建上下文。
对于基于 tar 归档的构建,构建 worker 会提取存档并输入构建上下文。例如:
example ├── .git ├── Dockerfile ├── file └── subdir └── Dockerfile
假设您的例子是名为"example"的 GitHub 存储库的目录结构。如果在构建触发器设置或手动启动构建时没有指定子目录,则构建将在 example 目录中操作。
如果将 subdir
指定为构建触发器设置中的子目录,则只有其内的 Dockerfile 才能在构建中看到。这意味着您无法使用 Dockerfile 中的 ADD
命令来添加 文件
,因为它位于构建上下文之外。
与 Docker Hub 不同,Dockerfile 是 Red Hat Quay 上的构建上下文的一部分。因此,它不能出现在 .dockerignore
文件中。