首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bitbucket管道-分配自定义变量

Bitbucket管道-分配自定义变量
EN

Stack Overflow用户
提问于 2022-02-20 14:20:11
回答 2查看 4.8K关注 0票数 3

我希望使用bash命令分配自定义变量。

代码语言:javascript
复制
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'

我没有得到文件的输出。正确的语法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-02-20 23:42:49

如果您的基本映像正在运行,则不支持外部设置环境变量。您不能创建这样的变量。例如,管道映像atlassian/ssh-run:0.4.0设置了这些环境变量,因此可以定义。但是docker-login步骤将使用image: alpine作为它的基础,并且这个基本映像没有设置这个环境变量来进行配置。Bitbucket中有三种类型的变量(工作区变量、存储库变量和部署变量)。在这个用例中,它们都不能满足您的需要。因为所有这些变量类型都是静态的,并且作为键/值工作。

我们可以尝试下面这样的东西;

代码语言:javascript
复制
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变量)只会在其步骤中被识别。如果你想把它带到其他的步骤,你应该使用工件。

票数 0
EN

Stack Overflow用户

发布于 2022-02-20 19:25:48

“在Bitbucket -管道中设置环境变量”目前是一个公开的建议,在Bitbucket云上收集兴趣:BCLOUD 17453

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71195321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档