如何在Concourse Pipeline中配置可点击的带动态版本的URL链接
解决方法
Concourse Web UI 支持自动解析输出内容中的 HTML 超链接标签,生成可直接点击跳转的链接;动态版本号需要先定义对应版本资源作为输入传入任务,再在执行脚本中拼接即可,完整配置如下:
1. 先定义版本管理资源(以常用的semver版本资源为例)
你可以根据实际场景替换为git提交哈希、镜像tag等其他带动态版本的资源:
resources: - name: pipeline-version type: semver source: # 可根据你的存储环境替换为git、gcs等驱动 driver: s3 bucket: 你的存储桶名称 key: 存储版本号的文件路径 access_key_id: ((s3访问密钥)) secret_access_key: ((s3秘密密钥)) initial_version: 1.0.0
2. 调整流水线任务配置
jobs: - name: 你的任务名称 plan: # 拉取最新的动态版本号,trigger可根据需要开启自动触发 - get: pipeline-version trigger: true - task: url-link config: platform: linux image_resource: type: xyz resource source: repository: docker.xyz/my-repo # 传入版本号资源作为任务输入 inputs: - name: pipeline-version run: path: bash args: - -c - | # 读取动态版本号,semver资源的版本默认存储在pipeline-version/number文件中 RUN_VERSION=$(cat pipeline-version/number) # 输出可点击的链接,如需直接显示链接文本可修改a标签内的内容为链接本身 echo "<a href='https://example.com/pipeline/$RUN_VERSION'>点击访问本次构建对应页面</a>" # 示例:直接输出可点击的链接文本 # echo "<a href='https://example.com/pipeline/$RUN_VERSION'>https://example.com/pipeline/$RUN_VERSION</a>"
适配说明
如果你使用的是其他类型的版本资源,只需要调整RUN_VERSION的读取路径即可:
- 若使用git资源的提交哈希:
RUN_VERSION=$(cat 你的git资源名称/.git/refs/head/主干分支名) - 若使用镜像资源的tag:
RUN_VERSION=$(cat 你的镜像资源名称/tag)
内容的提问来源于stack exchange,提问作者u.mang
相关产品推荐
相关产品推荐

