gri*_*gon 1 bitbucket bitbucket-pipelines
有没有办法在管道的脚本中创建变量?看起来应该是可能的,但我还没有找到任何文档。我不断被重定向回 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
Run Code Online (Sandbox Code Playgroud)
我基于此示例,但我正在努力解决示例中的变量。
当我像这样修改脚本部分时:
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
Run Code Online (Sandbox Code Playgroud)
我收到这个错误
bash: IMAGE: command not found
Run Code Online (Sandbox Code Playgroud)
我一直在寻找一种创建这样的变量的方法,但我所能找到的只是存储库或部署变量。但这些似乎不是我需要的,因为我想在运行时定义这些值。
有办法实现这一点吗?
正如错误所示,它们只是 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4015 次 |
| 最近记录: |