在公司上班,每次要出新版本的时候,都要进行一些繁琐的工作,比如打包、验证。
而当要发布的软件涉及的平台很多的时候,这些问题就显得尤为突出了。
上周我花了两天时间,写了一个各个平台自动打包的脚本,从此以后,原来3个人要花上半天的工作,只需要短短的10分钟就能搞定了。
其实这个脚本的原理很简单,就是将程序文件拷到各个类unix的系统下分别编译、打包,再将打包好的传回本机的脚本。主要用到了u(l)inux中的ssh以及scp命令。下面简单的介绍一下,这个脚本。
1)在编写脚本之前,用ssh-keygen来设置ssh无密码登陆,只有这样,才能做到真正的一键式打包。
2)将程序文件拷到各个需要编译打包的平台。scp -rp localdir username@ipadress:remotedir。
3)远程执行命令,在各个平台编译、打包刚传的代码。ssh username@ipadress "source /etc/profile;cd $remotedir;make;平台相关的打包命令"。
4)将打好包的文件,传回本地主机。scp -rp remotedir username@ipadress:localdir
自己写的第一个shell脚本,纪念一下。