我希望使用bash命令分配自定义变量。
image: alpine
pipelines:
default:
- step:
name: docker-login
services:
- docker
script:
- docker login --username $DOCKER_USERNAME --password $DOCKER_PASSWORD
- echo "logged in to docker hub"
- echo $VERSION
variables:
VERSION: cat ./version.txt
- step:
name: build-image
services:
- docker
script:
- echo "running docker image test"
- step:
name: 'set ssh env'
script:
- pipe: atlassian/ssh-run:0.4.0
variables:
SSH_USER: $SSH_USER
SERVER: '$HOST'
COMMAND: 'pwd'
我没有得到文件的输出。正确的语法是什么?
发布于 2022-02-20 23:42:49
如果您的基本映像正在运行,则不支持外部设置环境变量。您不能创建这样的变量。例如,管道映像atlassian/ssh-run:0.4.0设置了这些环境变量,因此可以定义。但是docker-login步骤将使用image: alpine作为它的基础,并且这个基本映像没有设置这个环境变量来进行配置。Bitbucket中有三种类型的变量(工作区变量、存储库变量和部署变量)。在这个用例中,它们都不能满足您的需要。因为所有这些变量类型都是静态的,并且作为键/值工作。
我们可以尝试下面这样的东西;
image: alpine
pipelines:
default:
- step:
name: docker-login
services:
- docker
script:
- docker login --username $DOCKER_USERNAME --password $DOCKER_PASSWORD
- echo "logged in to docker hub"
- export VERSION=$(cat ./version.txt)
- echo $VERSION使用linux命令创建变量在这里很有帮助。另外,请记住,这些类型的变量(在本例中是$VERSION变量)只会在其步骤中被识别。如果你想把它带到其他的步骤,你应该使用工件。
发布于 2022-02-20 19:25:48
“在Bitbucket -管道中设置环境变量”目前是一个公开的建议,在Bitbucket云上收集兴趣:BCLOUD 17453
https://stackoverflow.com/questions/71195321
复制相似问题