我几乎没有运行Linux发行版的相对较小的服务器。有时我需要从头开始重新安装1到2台“开发”服务器。我常常忘了摆设一些小事。在sysctl.conf中转发或忘记安装更新监控脚本、非必要但有用的软件包等.
理想情况下,我希望在所有这些中都有精确的设置。
1)如何处理文档化的“部署”过程来整理事情?你能给我举几个例子吗?
2)您是否使用了一些流行的部署工具?我看过厨师和木偶之类的东西,但它们现在对我来说太复杂了。更简单的东西?
发布于 2013-11-20 01:26:25
你不喜欢木偶(或厨师)什么?它们是专为满足你的需要而设计的工具。如果这是客户机/服务器设置的复杂性,那么您可以跳过安装服务器组件,只需在“独立”或"solo“模式下运行客户机。
发布于 2013-11-19 22:59:57
我最终将转向Chef系统,以实现自动缩放/发现,但现在我实际上直接从我需要部署服务器的源代码中控制服务器引导过程。不确定你是在网页栈上,还是在使用红宝石,但如果你使用红宝石的话,一个很好的工具是:重述 (基于卡皮斯特拉诺)
它允许您在任意数量的远程服务器上运行脚本。它的工作方式是使用一个“Capfile”来定义您的服务器等,然后您可以扩展一些内置的任务。其中之一是:引导任务。因此,在提供新的服务器时,我有一个简单的链
before 'bootstrap', 'bootstrap:dependencies'..。
namespace :bootstrap do
task :dependencies do
uname = capture('uname -r')
abort('ENV Not Supported') unless uname.strip == "some uname version"
sudo('apt-get -y install build-essential')
run('echo 'America/New_York' | sudo tee /etc/timezone')
end
end..。
这只是一个示例,您可以使用recap提供的“capture”、“sudo”和“run”命令来做一些事情。当然,这个示例假设您正在部署的软件与ruby堆栈相关联,但重点是,对于所有类型的语言/框架,都有这样的工具。
我的建议只是将服务器的配置与部署在该服务器上的代码联系起来,除非您想使用像厨师或木偶这样的工具。
发布于 2013-11-20 04:06:03
一些简单的、模块化的bash脚本,比如滚出方法和自包含的文档?除非你去木偶/厨师/别的什么地方.
https://serverfault.com/questions/551039
复制相似问题