最近项目搬迁到公司的“GitHub”上面原来的SVN的ant发布脚本要改下,于是百度ant获取git的方法太少了,windows平台上更是没有所以搞了两天,今天终于有点成果分享给大家。
1.服务器上也要安装git,还要配置git环境,在Path中加上C:\Program Files (x86)\Git\cmd(你的路径可能不同,就是Git\cmd路径)
2.GitHub上有两种路径http的那个要用户密码,我是没研究出来bat脚本自动输入密码,所以用git开头的路径
3.把公钥.ssh文件夹放入C:\Users\Administrator(登录用户对应文件夹)下面
3.5已有公钥没有私钥,
1)运行PuTTYGen(安装TortoiseGit在其目录下bin中),在Conversions菜单中点击Import key,选择ssh-keygen生成的私钥文件所在位置,比如id_rsa文件。
2)点击Save private key按钮,将其保存为.ppk文件。
3)打开Pageant,点击Add Key,选择前一步所保存的.ppk文件所在的位置即可。
4.双击启动pageant.exe(安装TortoiseGit在其目录下bin中),点击Add Key,选择ppk文件后打开。伺候pageant就会在后台运行,右下角有相应图标。
第一次下载用git bash 有一个yes要手动输入以后就不用了,所以就可以用脚本了这是一个主意点吧。
5.ant写法先加入ant宏,放在脚本头上
<macrodef name = "git"> <attribute name = "command" /> <attribute name = "dir"default = "" /> <element name = "args"optional = "true" /> <sequential> <echo message = "git @{command}" /> <exec executable = "git"dir = "@{dir}"> <arg value = "@{command}" /> <args/> </exec> </sequential> </macrodef> <macrodef name = "git-clone-pull"> <attribute name = "repository" /> <attribute name = "dest" /> <sequential> <git command = "clone"> <args> <arg value = "@{repository}" /> <arg value = "@{dest}" /> </args> </git> <git command = "pull"dir = "@{dest}" /> </sequential> </macrodef>
再写获取关键句
<git-clone-pull repository="git://github.com/280north/ojunit.git"dest="ojunit" />
这里说明下dest="ojunit"为项目文件名字也就是和路径最后是一样的,获取后和ant脚本在一个文件夹中
6.git的clone是全拉发布路径要针对实际的路径,这也是git的不好的地方(可能我是小白),还有老司机估计看出来了ant其实走的是cmd获取git这条路,可能还有第三方jar我在github上没找到希望有大神找到留言补充
感谢以下两位博主给我参考:http://justlpf.blog.51cto.com/3889157/1212564
https://yq.aliyun.com/articles/44476