如何解决如何在 BitBucket Pipeline 中创建动态变量
有没有办法在管道的脚本中创建变量?看起来应该是可能的,但是我找不到任何文档。我不断被重定向回 BitBucket 的部署或存储库变量。
我有这个工作正常的管道:
image: amazon/aws-cli
definitions:
steps:
- step: &buildImage
name: Build Docker Image
services:
- docker
script:
- aws configure set aws_access_key_id "${AWS_KEY}"
- aws configure set aws_secret_access_key "${AWS_SECRET}"
- aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 12345.dkr.ecr.us-east-1.amazonaws.com
- docker build -t 12345.dkr.ecr.us-east-1.amazonaws.com/myProject:latest .
- docker push 12345.dkr.ecr.us-east-1.amazonaws.com/myProject:latest
pipelines:
default:
- step: *buildImage
我基于 this example,但我正在努力处理示例中的变量。
当我像这样修改脚本部分时:
script:
- IMAGE = "12345.dkr.ecr.us-east-1.amazonaws.com/myProject"
- TAG = "latest"
- aws configure set aws_access_key_id "${AWS_KEY}"
- aws configure set aws_secret_access_key "${AWS_SECRET}"
- aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 12345.dkr.ecr.us-east-1.amazonaws.com
- docker build -t $IMAGE:$TAG .
- docker push $IMAGE:$TAG
我收到此错误
bash: IMAGE: command not found
我一直在寻找一种方法来创建这样的变量,但我能找到的只是存储库或部署变量。不过,这些似乎不是我需要的,因为我想在运行时定义这些值。
有没有办法做到这一点?
解决方法
正如错误所暗示的那样,它们只是 bash 变量。如果您从变量声明行中删除空格,那应该可以。
script:
- IMAGE="12345.dkr.ecr.us-east-1.amazonaws.com/myProject"
- TAG="latest"
- aws configure set aws_access_key_id "${AWS_KEY}"
- aws configure set aws_secret_access_key "${AWS_SECRET}"
- aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 12345.dkr.ecr.us-east-1.amazonaws.com
- docker build -t $IMAGE:$TAG .
- docker push $IMAGE:$TAG
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。