如何设置 Hudson CI 以便我可以在构建失败后从服务器发送电子邮件?目前我得到的只是以下错误:
com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first
Run Code Online (Sandbox Code Playgroud)
一种解决方案是按如下方式启动 Hudson:
java -Dmail.smtp.starttls.enable="true" -jar /usr/share/hudson/hudson.war
Run Code Online (Sandbox Code Playgroud)
但是,我已经在使用以下内容来启动 Hudson:
sudo /etc/init.d/hudson start
Run Code Online (Sandbox Code Playgroud)
我认为解决方案是以某种方式将系统属性 mail.smtp.starttls.enable 设置在某个属性文件中,但我不知道该怎么做。我有哪些选择?
谢谢大家!
我在带有 EC2 的大型实例上部署了一个简单的 Web 应用程序。我现在想将最新的代码部署到这个服务器,但我想以一种最大限度地减少停机时间并且对最终用户来说尽可能顺利的方式来做到这一点。这是我的计划:
这看起来是个好策略吗?有没有可能涵盖这个主题的教程或书籍?我已经阅读了 George Reese 的《云应用架构》,这是一本很好的书,但不包括部署。此外,我知道有一些工具可以帮助解决这个问题,例如 RightScale 或 enStratus,当我开始使用多个实例时,我会使用它们。
我想迁移一个现有的应用程序,它大约有。1000 万条记录存储在 CouchDB 的关系数据库中。我喜欢 CouchDB 的一点是易于复制和快速缓存视图。我不喜欢的是写入和查看创建速度,这对于 1000 万个文档来说会非常慢。
我必须解决这些潜在瓶颈的一个想法是拥有三个 CouchDB 实例:
实例 2 从实例 1 复制而来。由于不会有任何应用程序使用实例 2,因此可以在不影响生产应用程序的情况下创建新视图。
实例 3 从包含所有缓存视图的实例 2 复制而来。
这是一个可行的解决方案吗?
我有一个执行 apt-get 的构建脚本,因此需要 root 权限。在 Hudson 中运行此脚本的最佳方法是什么?
目前,我发现唯一有效的解决方案是为用户 hudson 向 sudoers 文件添加一个条目,如下所示:
hudson ALL=(ALL) NOPASSWD:ALL
Run Code Online (Sandbox Code Playgroud)
然而,虽然我的构建脚本现在在 Hudson 中运行没有错误,但我对这个解决方案并不完全满意。有没有更好的办法?
hudson ×2
amazon-ec2 ×1
couchdb ×1
deployment ×1
java ×1
replication ×1
scalability ×1
security ×1
sudo ×1