sw0*_*l0k 5 continuous-integration yaml continuous-deployment gitlab gitlab-ci
我想使用 Gitlab CI 在 master 提交时将我的静态网站部署到 ftp 服务器。我没有 DevOps 经验,并尝试通过互联网上的教程来做到这一点。我制作了这个 .gitlab-ci.yml 文件
deploy:
stage: deploy
only:
- master
deploy:
script:
- apt-get update -qq && apt-get install -y -qq lftp
- lftp -u ftp-login,ftp-pass ftp.server \
-e "mirror -e -R -x .git -x excl.txt -x exclude-1 -x exclude-2 -x README.md -p ./ mysite/www/ ; quit"
Run Code Online (Sandbox Code Playgroud)
但是 gitlab 向我显示这个 yml 文件的错误。它表示在此上下文中不允许映射值。你能帮我处理这个文件吗?谢谢!
有相同的错误消息
\n(<unknown>): mapping values are not allowed in this context gitlabci\nRun Code Online (Sandbox Code Playgroud)\n我的情况的问题是:
查看文档: https ://docs.gitlab.com/ee/ci/yaml/README.html#script
\n有时,脚本命令必须用单引号或双引号引起来。例如,包含冒号 (:) 的命令必须用单引号 (\') 括起来。YAML 解析器需要将文本解释为字符串而不是 \xe2\x80\x9ckey: value\xe2\x80\x9d 对。
\n例如,此脚本使用冒号:
\njob:\n script:\n - curl --request POST --header \'Content-Type: application/json\' "https://gitlab/api/v4/projects"\nRun Code Online (Sandbox Code Playgroud)\n要被视为有效的 YAML,您必须将整个命令用单引号引起来。如果命令已使用单引号,则应尽可能将其更改为双引号 ("):
\njob:\n script:\n - \'curl --request POST --header "Content-Type: application/json" "https://gitlab/api/v4/projects"\'\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
7108 次 |
| 最近记录: |