Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 使用cat从gitlab-ci.yml中api调用中要扩展的文件将标记存储在变量中_Bash_Shell_Gitlab_Gitlab Ci - Fatal编程技术网

Bash 使用cat从gitlab-ci.yml中api调用中要扩展的文件将标记存储在变量中

Bash 使用cat从gitlab-ci.yml中api调用中要扩展的文件将标记存储在变量中,bash,shell,gitlab,gitlab-ci,Bash,Shell,Gitlab,Gitlab Ci,我(现在)成功地使用Gitlab的发布api触发了回购协议的发布。然而,我发现将markdown从字符串变量传递到curl到api的效果很好。当使用cat从文件中获取标记时,我无法使变量正确展开。管道无论如何都会成功,但不会进行API调用 我已经试着按照文件中的官方建议来做了。我还尝试了其他一些方法,比如使用脚本来代替指定bash和zsh作为shell,因为在我的gitlab docker中,默认值只是sh create_release: script: - DESCRIPT

我(现在)成功地使用Gitlab的发布api触发了回购协议的发布。然而,我发现将markdown从字符串变量传递到curl到api的效果很好。当使用
cat
从文件中获取标记时,我无法使变量正确展开。管道无论如何都会成功,但不会进行API调用

我已经试着按照文件中的官方建议来做了。我还尝试了其他一些方法,比如使用脚本来代替指定bash和zsh作为shell,因为在我的gitlab docker中,默认值只是sh

create_release:
    script:
      - DESCRIPTION=$(cat description.md)
      - |
        curl --silent --request POST --header "Content-Type:application/json" \ 
        --header "PRIVATE-TOKEN: TOKEN" \ 
        --data '{"name":"New release","tag_name":"v0.3", "description":"'"$DESCRIPTION"'","assets":{"links":[{"name":"hoge","url":"https://google.com"}]}}' \
        https://gitlab.bankassembly.com/api/v4/projects/369/releases

当我只是将一些标记作为字符串,如
DESCRIPTION=“##Changelog\r\n something…”时,它会起到预期的效果,但无论我尝试了什么,当使用
DESCRIPTION=$(cat DESCRIPTION.md)
时,它都不起作用。当你说“它不能安静工作”时,这是什么意思?尝试使用以下命令:
DESCRIPTION=”$(这意味着无论我尝试了什么,我都没有让它正确地将降价内容存储在变量中,有时不正确,有时根本没有,有时扩展不正确。我尝试了我能想到的任何东西,这就是为什么我没有在这里发布所有变体。但是,现在通过将脚本移动到act解决了问题ual脚本文件
tagrelease.sh
,声明将bash用作shell,然后在yaml文件中使用
yaml脚本:-…-tagrelease.sh