最近工程频繁更新,另外,为了方便,自己维护了release 和 debug两个版本. 那么频繁的去update bitbucket 真是个麻烦事。还好我们可以写脚本。
这个脚本并不难写,最大的问题就是如何自动输入bitbucket密码,恩,这样更省事。
python中有个pexpect模块,但是该模块还不能在py3上使用,pexpect-u 我没有试成功. 自己比较喜欢py3 ,所以放弃python 改用 ruby 来写。
ruby 中需要 pty 和 expect 两部分:
require "pty"
require "expect"
PTY.spawn(cmd) do |r,w,pid|
r.expect(/password\:/) do |array|
puts array
w.print @pass_word
puts r.read
end
end
cmd 是要执行的命令 比如 'hg pull && hg update -C'
@pass_word 是密码