在我的gitlab-ci文件中,我想使用命令curl
来获取页面的结果并验证其内容,但我不知道如何使用它。
....................
server:check-quality:
<<: *all-settings
stage: check-quality
<<: *tags_definition
script:
- echo "APPEL de CURL"
- content=($curl http://example.com/sonar/api/qualitygates/project_status?projectKey=com.orange.catalog:feature-m752-conditionequals)
- echo "content"
- exit 0
only:
- develop
- /^feature.*$/
- /^hotfix.*$/
字符串
请问你有什么想法吗?
6条答案
按热度按时间oug3syen1#
我不太确定这是否有效;因为YAML解释器会吞噬各种特殊字符,比如http中的:。为了让它在几个小时的挣扎后工作,这是我找到的解决方案。
字符串
这个脚本将使用gitlab API生成一个版本,所以比你所请求的更花哨一点。
请注意,CI_COMMIT_TAG_MESSAGE是我的变量,希望能添加到GitLab中。
最大的问题是找出所有需要转义的特殊字符。
此外,您还交换了content参数中的(和$;)
h43kikqp2#
这是如何在GitLab CI YAML脚本中使用
curl
,在2021年没有麻烦。以下示例CI管道使用
curl
触发远程应用程序构建,并在数字海洋应用平台上部署,以实现真实的用例。在这里,
curl
使用来自GitLab variables的URL参数,并将JSON主体与请求一起传递:字符串
管道将命令的参数放入变量中。然后
eval
变量。注意单引号 Package 变量值和eval
命令。它们是主要的。该变量还使用外推的存储库级别变量来表示秘密。
请注意,GitLab YAML不会抱怨一个单独的
:
冒号符号。它抱怨:
-一个冒号后跟空格符号。所以上面的例子普遍适用于这两种情况。但是当命令行中冒号后面没有空格时,按照@Mavichow答案的简单实现会很好。还要注意,您可以使用curl
body
参数,该参数需要 Package 在单个配额中。请注意,在body
变量内容中,逗号后没有空格。其他一些避免
:
(冒号后跟空格)问题的方法:型
jutyujz03#
在脚本中,您可以使用curl,如
字符串
mo49yndu4#
可以使用|(多行脚本)来绕过这个:
字符串
t5fffqht5#
我已经修改了一些变通办法和CURL变量和工程为我与下面的脚本:
字符串
cclgggtu6#
以下是关于脚本中curl的官方Gitlab文档:https://docs.gitlab.com/ee/ci/yaml/script.html
有时,脚本命令必须用单引号或双引号括起来。例如,包含冒号(:)的命令必须用单引号(')括起来。YAML解析器需要将文本解释为字符串,而不是“key:value”对。
有时必须使用单引号。