是否可以在预定时间进行“eb 部署”?
Posted
技术标签:
【中文标题】是否可以在预定时间进行“eb 部署”?【英文标题】:Is it possible to `eb deploy` at a scheduled time? 【发布时间】:2020-09-11 03:29:36 【问题描述】:有时我希望能够运行类似的东西:
eb deploy --scheduled-for=02:00:00
当我想在工作时间之外进行低风险部署时。我可以从docs 看到上述选项不可用。但我想知道这种目的的最佳等价物。
我知道 Elastic Beanstalk 支持使用负载均衡器和多个 EC2 实例进行蓝绿部署,尽管我目前只为一个 EC2 实例付费并且希望暂时保持这种状态。
我所有的客户都是澳大利亚人,所以通宵部署通常就足以满足我的目的。
谢谢。
【问题讨论】:
【参考方案1】:假设您使用的是本地 Linux 工作站(未在问题中指定),您可以使用 at
:
echo "eb deploy" | at -m 02:00
关于at
的一些基本信息是here。关于使用at
要考虑的一件事是得到它outputs。因此,您可以将其输出保存在文件中:
echo "eb deploy > /tmp/deploy_output" | at -m 02:00
要定期执行命令,您可以使用cron
。
【讨论】:
我喜欢这个解决方案。我在 MacOS 上。我看不到命令的输出。我正在使用echo "echo 'hello' > temptemp" | at -m now
甚至echo "echo 'hello' > temptemp" | at -m now + 1 minute
进行测试。起初我需要通过 System Preferences -> Security & Privacy -> Privacy -> Full Disk Access 给 iTerm2“全盘访问”,这每次都会停止权限检查。但是无论我是否事先创建了输出文件,我仍然没有得到temptemp
或/tmp/deploy_output
的输出。我已经确认我可以在atq
中看到这份工作。有任何想法吗?我不确定它是否正在执行。
@stwr667 不确定 mac,但在 linux 上必须启动并启用 at
服务。顺便说一句,刚刚测试了echo "echo 'hello' > temptemp" | at -m now
,这适用于我在 Linux 上。
嗯,好的,现在知道了。 unix.stackexchange.com/a/478840 在这里是一个有用的答案。 TL;DR 我还必须运行sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
以启用atrun
实用程序,然后也提供/usr/libexec/atrun
全磁盘访问权限,就像我在上面的评论中描述的那样。
@stwr667 感谢您告诉我。很高兴它成功了。以上是关于是否可以在预定时间进行“eb 部署”?的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Adobe Reader 中以预定义的放大倍率打开 PDF 文件?
Flutter 拖拽可以有动态端点吗?还是只是一个预定义的目标?