Bash Concourse CI/CD-将Concourse凭据作为shell脚本参数传递
我是个新手,正在学习建立和运行concourse CI/CD管道的诀窍。 我的一个生成任务需要存储在concourse credential manager中的凭据。它们需要作为参数传递给我的shell脚本。 如何将它们作为参数传递 我的shell脚本的运行方式为:Bash Concourse CI/CD-将Concourse凭据作为shell脚本参数传递,bash,continuous-integration,pipeline,concourse,Bash,Continuous Integration,Pipeline,Concourse,我是个新手,正在学习建立和运行concourse CI/CD管道的诀窍。 我的一个生成任务需要存储在concourse credential manager中的凭据。它们需要作为参数传递给我的shell脚本。 如何将它们作为参数传递 我的shell脚本的运行方式为:ci/scripts/build.sh-u username-p password 用户名和密码将从凭证管理器中获取 我的大厅管道任务设置为 - task: build config: platform:
ci/scripts/build.sh-u username-p password
用户名
和密码
将从凭证管理器中获取
我的大厅管道任务设置为
- task: build
config:
platform: linux
image_resource:
source:
repository: java
tag: "8"
type: docker-image
inputs:
- name: resource-repo
outputs:
- name: artifacts
run:
path: ci/scripts/build.sh
params:
u: ((artifactory_user))
p: ((artifactory_password))
这似乎不起作用。我想一定有更好的办法。你就快到了。从任务参数:
params:{string:string}
可选。值的键值映射
通过环境变量向任务公开的
使用此选项可以向任务提供凭据之类的内容
因此,您的shell脚本变为
ci/scripts/build.sh -u ${u} -p ${p}
你的意思是它们存储在CredHub中吗?@TomFenech是的,它们是。我还想知道是否有办法在执行任务之前将这些参数设置为环境变量。像在Concourse任务中那样实际执行shell脚本的方法是在任务中包含参数:
run:{path:ci/scripts/build.sh,args:[“-u”、“${u}”、“-p”、“${p}”]}
。