我们的基础设施/挑战很有趣,我在网上或其他 SO 问题上找不到任何太相关的东西。
我们的build
服务器与我们的私有网络服务器位于不同的 VPC 中。所以build
>web server
是不可能的。我在本地使用两个 VirtualBox VM 进行概念验证,那里没有问题。使用两个虚拟机在本地一切正常。
我们的部署将是build
> bastion
> webserver
。
我正在研究一些将由 GitLab 的 CI 触发的 Envoy 脚本,其中:
- SSH 进入我们的
build
服务器 - 跑
envoy run deploy:code --arg1=a --arg2=b --arg3=c
- envoy 然后 SSH 进入我们的堡垒服务器
- 运行另一个脚本(
deploy.sh
现在最终是 Envoy)将代码部署到我们的私有 Web 服务器
虚拟机1 Envoy.blade.php
:
@task('deploy:code', ['on' => 'web'])
ssh ubuntu@10.0.2.15 -p 22 -tt
/home/ubuntu/deploy.sh
@endtask
虚拟机2 deploy.sh
:
$ cat deploy.sh
echo "hello!"
本地主机命令:
envoy run deploy:code --a=a --b=b --c=c
输出:
[ubuntu@127.0.0.1 -p 10022]: /home/ubuntu/deploy.sh
[ubuntu@127.0.0.1 -p 10022]: Welcome to Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-193-generic x86_64)
[ubuntu@127.0.0.1 -p 10022]: * Documentation: https://help.ubuntu.com
[ubuntu@127.0.0.1 -p 10022]: * Management: https://landscape.canonical.com
[ubuntu@127.0.0.1 -p 10022]: * Support: https://ubuntu.com/advantage
[ubuntu@127.0.0.1 -p 10022]: 105 packages can be updated.
[ubuntu@127.0.0.1 -p 10022]: 86 updates are security updates.
[ubuntu@127.0.0.1 -p 10022]: New release '18.04.5 LTS' available.
[ubuntu@127.0.0.1 -p 10022]: Run 'do-release-upgrade' to upgrade to it.
[ubuntu@127.0.0.1 -p 10022]: Last login: Fri Aug 27 15:51:11 2021 from 10.0.2.15
[ubuntu@127.0.0.1 -p 10022]: ubuntu@ubuntu:~$
[ubuntu@127.0.0.1 -p 10022]: ubuntu@ubuntu:~$ /h
[ubuntu@127.0.0.1 -p 10022]: ome
[ubuntu@127.0.0.1 -p 10022]: /ub
[ubuntu@127.0.0.1 -p 10022]: un
[ubuntu@127.0.0.1 -p 10022]: tu/
[ubuntu@127.0.0.1 -p 10022]: depl
[ubuntu@127.0.0.1 -p 10022]: oy.
[ubuntu@127.0.0.1 -p 10022]: sh
[ubuntu@127.0.0.1 -p 10022]: hello!
[ubuntu@127.0.0.1 -p 10022]: ubuntu@ubuntu:~$
谁能建议我不能将输出拆分为多行的方法,而只是hello!
在欢迎消息/MOTD 之后回显,和/或不将输出拆分为多行?