(R)?ex 部署 & 配置管理框架

一切自动化 随时轻松

  • > 在你的运行环境无缝集成
  • > 简单的使用和方便的扩展
  • > 会点Perl 就能玩Rex
  • > Apache 2.0 开源协议
task prepare => sub {
   install "apache2";
   service apache2 => ensure => "started";
};
阅读我们的入门手册吧

搜索

新闻

2014-10-20
(R)?ex 0.55.0 released. 现在你可以给自己的 Rex 项目创建一个自包含的包。阅读发版笔记了解更多信息。
2014-10-03
发布第一版 JobControl -- Rex 的官方网页界面。阅读入门了解其内容。
2014-10-03
(R)?ex 0.54.3 released. 主要是 bug 修复,不过有一个非常棒的新特性。阅读发版笔记了解更多信息。
2014-09-14
(R)?ex 0.53.1 released. 阅读发版笔记了解更多信息。
2014-09-02
我们开始开发 Rex 的前端页面。代码发布在 Github,欢迎反馈和修改。
2014-09-01
(R)?ex 0.52.1 released. 该版本主要是修复 bug。阅读发版笔记了解更多信息。
2014-07-02
为本站和 build.rexify.org 使用由 CACert.org 签名的 SSL 证书。
2014-05-31
阅读新的 Howto 指南学习如何用 Rex 设置 OpenLDAP 和 SSSD。

会议

2014-09-19

今年的 Kieler LinuxTag 会有 Rex workshop。你可以在 workshop 页面上注册参与。

需要帮助吗?

Rex 是一个开源的项目,所以你可以找到社区的支持,连接如下:

Professional support is also available.

为什么使用 Rex?

如果你要做一个任务,运行两次以上, 请自动化它吧 !

不要忘记每一个安装的步骤,创建为自动化. 因为自动化可以减少失败的风险,让你真正的轻松工作.

Rex 据有的优势

  • 基于 SSH,无需额外部署客户端
  • 无缝集成,没有冲突
  • 易用易扩展
  • 入门快,十分钟 Perl 基础就够

开放源代码

我们相信开源coder 的想法.所以Rex 全部代码都是给予Apache 2.0 的许可协议开源

你可以加入我们社区让Rex 更加的完美.

Uptime?

这个命令行例子 将执行 "uptime" 在所有的主机上 如 (frontend01, frontend02, ...).

$ rex -H "frontend[01..15] middleware[01..05] db[01..04]" -e "say run 'uptime'"

还有一些,基于 Rexfile

desc "Get Disk Free";
task "disk_free", sub {
   my $output = run "df -h";
   say $output;
};

现在你可以用这个命令运行你的任务

$ rex -H "frontend[01..15] middleware[01..05] db[01..04]" disk_free

保持你的配置文件同步

这个例子将安装Apache webserver 在 5 个服务器上 并且保持配置文件同步.如果配置文件改变了 他会自动reload 你的apache 服务.

如果这个任务将执行首先安装好apahce服务在做再做配置文件同步.

user "root";
group frontend => "frontend[01..05]";

desc "Prepare Frontend Server";
task "prepare", group => "frontend", sub {
  pkg "apache2",
    ensure => "latest";

  service "apache2",
    ensure => "started";
};

desc "Keep Configuration in sync";
task "configure", group => "frontend", sub {
  prepare();

  file "/etc/apache2/apache2.conf",
    source    => "files/etc/apache2/apache2.conf",
    on_change => sub { service apache2 => "reload"; };
};

在 sudo 下执行 ?

你也可以在sudo 下 运行任何的任务. 只需要激活sudo 和定义sudo 的密码

user "ubuntu";
group "frontend" => "frontend[01..05]";
sudo TRUE;   #激活sudo
sudo_password 'sudopass';

desc "Prepare Frontend Server";
task "prepare", group => "frontend", sub {
  pkg "apache2",
    ensure => "latest";

  service "apache2",
    ensure => "started";
};

desc "Keep Configuration in sync";
task "configure", group => "frontend", sub {
  prepare();

  file "/etc/apache2/apache2.conf",
    source    => "files/etc/apache2/apache2.conf",
    on_change => sub { service apache2 => "reload"; };
};
Fork me on GitHub
Google Group / Twitter / GitHub / Mailinglist / irc.freenode.net #rex   -.ô.-   Disclaimer

D