concourse/hg-resourceMercurial Resource 是一个专为 Concourse CI 设计的资源类型,用于与 Mercurial (Hg) 版本控制系统集成。其核心功能是跟踪 Mercurial 仓库的提交历史,支持在 CI/CD 流水线中监控代码变更,实现自动化触发构建、测试等任务。该资源的源代码和详细文档托管于 GitHub。
check(检查变更)、in(获取代码)等标准操作。trigger 源,当 Mercurial 仓库有新提交时自动启动下游任务(如构建、测试、部署)。在 Concourse 流水线中使用前,需先定义资源类型(若未全局配置):
yamlresource_types: - name: hg-resource type: docker-image source: repository: concourse/hg-resource # 官方 Docker 镜像
在流水线中定义具体资源时,需通过 source 字段配置 Mercurial 仓库信息:
yamlresources: - name: my-hg-repo type: hg-resource source: uri: [***] # Mercurial 仓库 URL(必填) branch: default # 跟踪的分支名称,默认为 "default"(可选) username: ((hg-username)) # 仓库认证用户名(私有仓库必填,可选) password: ((hg-password)) # 仓库认证密码(私有仓库必填,可选) paths: # 仅监控指定路径的变更(可选) - src/main/ - docs/
| 参数名 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
uri | 字符串 | 是 | Mercurial 仓库的访问 URL(支持 HTTP/HTTPS、SSH 等协议) |
branch | 字符串 | 否 | 需跟踪的分支名称,默认为 Mercurial 仓库的默认分支(通常为 "default") |
username | 字符串 | 否 | 用于仓库认证的用户名(适用于需 Basic Auth 的私有仓库) |
password | 字符串 | 否 | 用于仓库认证的密码(与 username 配合使用) |
paths | 数组 | 否 | 路径过滤列表,仅当列表中指定的目录或文件发生变更时触发检查 |
Mercurial Resource 支持 Concourse 资源的标准生命周期操作:
check(检查变更)in(获取代码)out(推送代码,可选)以下是一个完整的流水线示例,使用 Mercurial Resource 监控仓库变更并执行测试任务:
yamlresource_types: - name: hg-resource type: docker-image source: {repository: concourse/hg-resource} resources: - name: my-hg-repo type: hg-resource source: uri: [***] branch: dev paths: - src/ username: ((hg-user)) password: ((hg-pass)) jobs: - name: test-on-commit plan: - get: my-hg-repo trigger: true # 仓库有新提交时自动触发任务 - task: run-unit-tests config: platform: linux image_resource: type: docker-image source: {repository: python, tag: 3.9} # 使用 Python 镜像执行测试 inputs: - name: my-hg-repo # 将拉取的代码作为输入 run: path: sh args: - -c - | cd my-hg-repo/src pip install -r requirements.txt pytest # 执行测试命令
username/password 外,私有仓库也可通过 SSH 密钥认证(需在 source 中配置 private_key,具体参考官方文档)。concourse/hg-resource 镜像,以确保与 Mercurial 新版本和 Concourse 平台的兼容性。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务