gpt4 book ai didi

gitlab - 使用 ":"的脚本命令导致 .gitlab-ci.yml 执行错误

转载 作者:行者123 更新时间:2023-12-03 14:23:11 24 4
gpt4 key购买 nike

下面我的.gitlab-ci.yml文件:

image: docker:latest

services:
- docker:dind

stages:
- deploy_dev_env

Deploy DEV Environment:

stage: deploy_dev_env

script:

- curl -v -H "Content-Type: multipart/form-data" -X PUT -F uploadInput=@schema/schema.xml -F overwrite=true -F xmlaEnabledFlag=true -F parameters="DataSource=outputDS" -F parameters="EnableXmla=true" -u $PENTAHO_DEPLOY_USER:$PENTAHO_DEPLOY_PASSWORD http://$PENTAHO_HOST/pentaho/plugin/data-access/api/datasource/analysis/catalog/sca

这个非常简单的脚本导致了错误,因为 "Content-Type: multipart/form-data" 中的冒号(:)片。

在脚本中运行 CI Lint 我得到以下信息:
Status: syntax is incorrect

jobs:deploy dev environment:script config should be a string or an array containing strings and arrays of strings

如果我更换 "Content-Type: multipart/form-data"来自 "Content-Type multipart/form-data" (删除了“:”),我得到了正确的 .gitlab-ci.yml 文件语法。

这是一个错误还是我应该以不同的方式重写我的 curl 命令?

最佳答案

Docs警告 yaml 脚本中的特殊字符:

Note: Sometimes, script commands will need to be wrapped in single or double quotes. For example, commands that contain a colon (:) need to be wrapped in quotes so that the YAML parser knows to interpret the whole thing as a string rather than a “key: value” pair. Be careful when using special characters: :, {, }, [, ], ,, &, *, #, ?, |, -, <, >, =, !, %, @, `.



一种选择是使用 yaml block scalar

Deploy DEV Environment:
stage: deploy_dev_env
script: >
curl -v -H "Content-Type: multipart/form-data" -X PUT -F uploadInput=@schema/schema.xml -F overwrite=true -F xmlaEnabledFlag=true -F parameters="DataSource=outputDS" -F parameters="EnableXmla=true" -u $PENTAHO_DEPLOY_USER:$PENTAHO_DEPLOY_PASSWORD http://$PENTAHO_HOST/pentaho/plugin/data-access/api/datasource/analysis/catalog/sca

或使用其他方式 escape colon in yaml .

关于gitlab - 使用 ":"的脚本命令导致 .gitlab-ci.yml 执行错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60850314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com