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