如何解决Gcloud 命令未在 gitlab ci yml 上运行警告:here-document at line ted by end-of-file (wanted `EOF') /bin/bash: : EOF: command not found
在 gitlab-ci.yml 中运行以下 gcloud 命令时出现以下错误
/bin/bash: line 152: warning: here-document at line 152 delimited by end-of-file (wanted `EOF') /bin/bash: line 152: EOF: command not found
- gcloud compute ssh --zone asia-southeast1-b instance-1 --command="bash -s" <<-EOF
fuser -k 8080/tcp
nohup java -jar /home/XXX/XXX-1.0-SNAPSHOT.jar > /dev/null 2>&1 &
EOF```
解决方法
gitlab 和 heredoc 语法 (<<-EOF
) 都有特定的空白要求,但它们之间存在冲突。
幸运的是,只要保留缩进,yaml 就允许多行命令,因此不需要 heredoc 符号。这可以按如下方式完成:
- gcloud compute ssh --zone asia-southeast1-b instance-1 --command="bash -s
fuser -k 8080/tcp;
nohup java -jar /home/XXX/XXX-1.0-SNAPSHOT.jar > /dev/null 2>&1 &"
请注意,命令之间还引入了分号。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。