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

一切自动化 随时轻松

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

搜索

新闻

2014-07-02
本站及 build.rexify.org 开始使用 CACert.org 颁发的 SSL 签名证书。
2014-05-31
阅读新版 howto 学习如何使用 Rex 安装设置 OpenLDAP 和 SSSD。
2014-05-02
(R)?ex 0.46.0 版发布。本次发布带有诸多新特性,比如 Rex::Test (一个测试框架), Rex::Box 的 KVM 支持和 RackSpace 云支持。查阅发版笔记,内含新特性的示例。
2014-04-12
(R)?ex 0.45.0 版发布。本次发布带来了 OpenStack 云支持,增强了很多通用资源/函数。查阅发版笔记,内含新特性的示例。
2014-04-03
Ferenc Erki 在 Free Software Conference of Szeged 上的演讲上传到了 slideshare
2013-03-20

我们很自豪的宣布 Rex 被 initiative mittelstand 评选为 2013 年度最佳开源解决方案。感谢 inovex 对此作出的贡献和支持。

会议

2014-05-08 - 2014-05-10

我们在柏林 LinuxTag 等待您的光临

LinuxTag 是欧洲领先的 Linux 、自由软件和开源展览会。

需要帮助吗?

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

  • IRC: #rex on freenode
  • 邮件组: rex-users
  • 问题列表: Github
  • 特性需求: 你需要什么 特性?
  • 商务支持: inovex
  • QQ群: 252744726

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