搭建gem server弄明白了其实并不难,参考下列两个链接的方法后
http://eshilin.blog.163.com/blog/static/132880330201062642954212/ 搭建gem server部分在该文最下面
http://qa.taobao.com/?p=2307 用iis的
我也实现了指定source(gem server ip/name)来安装gem包,但是还是自己总结一下
先说说做一个简单的gem包吧,ruby代码一点不会弄,但是做个gem包子还是会的
制作gem包
1、安装gem build需要用到的gem软件
2、初始化一个包
成功执行后,会有如下输出
Creating file testgem/COPYING
Creating directory testgem/lib
Creating directory testgem/lib/project
Creating file testgem/lib/project/init.rb
Creating file testgem/LICENSE
Creating file testgem/Rakefile
Creating directory testgem/resources
Creating file testgem/resources/defaults.yaml
Creating file testgem/README
Creating proper 'testgem/lib/testgem/init.rb' file
看看也知道会生成哪些东西勒
gem包的配置文件吧,算是rakefile了,在里面随便改改名字,版本的,不过也是ruby代码了。。。其他我也不会。。。
3、改完rakefile之后就可以生成一个包了,在testgem目录下执行
成功执行后,会在当前目录下生成一个name-version.gem包了,我这里的名字就叫testgem-1.0.0.gem吧
如果你懂ruby代码的话,google一下创建gem包,网上一大堆文件,自己去看吧,可以根据自己需求修改rakefile,添加gemspec
测试用的gem包有了,下面开始搭建gem server吧,也不难
搭建gem server
搭建gem server我们以用nginx的web服务器为例,其实差不多的都
1、配置nginx的访问目录
listen 80;
server_name 192.168.1.174;
index index.html index.htm index.php;
root /opt/web/wordpress;
passenger_enabled on;
}
/opt/web/wordpress是能够通过web访问的
2、创建gems目录
mkdir /opt/web/wordpress/gems
将你的gem包(testgem-1.0.0.gem)复制到/opt/web/wordpress/gems目录下
3、生成gem包目录索引
在/opt/web/wordpress目录下(注意,不是/opt/web/wordpress/gems目录下,是gems的上一级目录)直接执行
执行完成后,会生成几个文件和yaml文件,其中yaml文件就是gem包的索引,当别人执行source访问时,就是读取yaml文件来获取gem包目录的
4、重新加载nginx
web访问目录下搞了这么多文件出来,nginx肯定要reload一下
5、指定source安装testgem
找过一个服务器,注意两台服务器的gem版本一定要是一样的,在另外一个服务器上执行
这样就可以了,如果有需要依赖软件的话,想通过source来安装的话,就直接将对应的gem包复制到gems目录下即可,这样就会安装testgem中申明所需要的依赖包了
貌似就这些了。。