制作并发布自己的Gem

我要写一个demo小工具来记录gem的开发过程,

工具的作用:遍历本地的git仓库,并且更新它们到最新的代码,也就是每个仓库进行git pull操作,很简单吧,demo就是要简单嘛

mac下的gem开发环境:

ruby –version, 2.2.2
gem –version, 2.6.1
bundle –version, 1.11.2
rake –version, 10.4.2

屏幕快照 2016-03-27 下午8.30.41

bundle会自动生成这个约定的目录,然后我们看下自动生成的文件结构,

屏幕快照 2016-03-27 下午8.33.54

IDE就用sublime吧

先看lib下的update_gitrepos.rb,module UpdateGitrepos 是入口

梳理下,要做几件事情:
1.知道要更新的总目录的path,这个会作为输入,所有的git仓库在总目录下
2.依据总目录分离出每个git仓库的路径,并把它们加到array中
3.遍历这个array,对每一个git仓库进行git pull操作,输出git的执行结果,并更新整个执行进度

代码直接给链接,update_gitrepos

工程目录下,验证功能,进入命令行交互界面

然后运行

$path是指存放git仓库的总目录路径

如果一切都OK,那么更新Gem说明文档,消灭README.md和.gemspec文件中所有的TODO,模板参照我在github上的代码。

然后在github上创建远程仓库,并把代码提交到上去。OK,现在我们要打包成gem,并发布到rubygems.org让所有人都用我们的工具一次更新目录下所有的git仓库

运行rake -T看下,命令的基本用法

屏幕快照 2016-03-27 下午9.38.32

cd到工程目录下,运行rake build

屏幕快照 2016-03-27 下午9.39.24

在本地创建了gem,现在把gem安装到本机

屏幕快照 2016-03-27 下午9.41.05

检查是否可用

屏幕快照 2016-03-27 下午9.43.48

ok,一切就绪,就差发布到平台了,我们没有upstream,不是fork开发,所以运行

然后 rake release,发布了?不,还差一点点,按照提示来吧,不要忘记社区的帐号和密码

屏幕快照 2016-03-27 下午9.48.32

现在运行rake release

屏幕快照 2016-03-27 下午9.52.51

ok,发布到社区了,进入rubygems.org,赶快搜下刚写的gem吧



发表评论

电子邮件地址不会被公开。 必填项已用*标注