Bash Concourse CI/CD-将Concourse凭据作为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:

我是个新手,正在学习建立和运行concourse CI/CD管道的诀窍。 我的一个生成任务需要存储在concourse credential manager中的凭据。它们需要作为参数传递给我的shell脚本。 如何将它们作为参数传递

我的shell脚本的运行方式为:
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}”]}