首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GitHub操作:如何从表达式计算中获取值并将其分配给环境变量

GitHub操作:如何从表达式计算中获取值并将其分配给环境变量
EN

Stack Overflow用户
提问于 2022-02-08 22:17:29
回答 1查看 3.6K关注 0票数 2

环境表达式通常被直接分配,如下面的示例所示

代码语言:javascript
复制
  - name: set up env var
    env:
      TAG: v1.2.3
    run: echo $TAG

但是,如何从shell脚本评估中获得值呢?例如,在我的终端中,我可以通过git describe --exact-match --tags $(git log -n1 --pretty='%h')获取当前标记

但是,当我尝试将这个脚本放入env中时,如下所示

代码语言:javascript
复制
  - name: set up env var
    env:
      TAG: $(git describe --exact-match --tags $(git log -n1 --pretty='%h'))
    run: echo $TAG 

回波打印出$(git describe --exact-match --tags $(git log -n1 --pretty='%h')),这意味着它不被计算,而是作为一个字符串处理。

如何获得git describe --exact-match --tags $(git log -n1 --pretty='%h')的值并将其分配给环境变量TAG

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-09 00:13:49

可以通过使用:GITHUB_ENVecho "{name}={value}" >> $GITHUB_ENV添加变量

这允许为作业中下一个运行的操作创建或更新环境变量。创建或更新环境变量的操作无权访问新值,但作业中的所有后续操作都将具有访问权限。环境变量区分大小写,可以包括标点符号.

来源

例如,您的工作流程可能如下所示:

代码语言:javascript
复制
 - name: set up env var
    run: echo "TAG=$(echo git describe --exact-match --tags $(git log -n1 --pretty='%h'))" >> $GITHUB_ENV
 - name: use env var
    run: echo ${{ env.TAG }}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71041571

复制
相关文章

相似问题

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