发现测试环境代码更新基本都是手动登陆测试服务器然后手动执行git命令去更新,每次登陆都要开终端窗口,很麻烦,于是想办法简化这个动作。想到jenkins可以做持续集成,又支持git、ssh等工具,因此果断使用jenkins做代码更新。
1、jenkins下载ssh 插件
2、在系统设置中配置publish over ssh模块中的ssh sever 模块并保存
主要包括:
name(标示此ssh链接,随便起)、
Hostname(写要登陆的ip地址即可)、
Username(写登陆用户名)、
Remote Directory(填\即可,就代表登陆进去时的目录)
配置完成后可以点击test configuration 验证是否能正常ssh到该ip地址,返回success即代表成功。否则需要具体问题具体分析。
3、新建job,并配置参数化构建模块以及ssh publisher模块
3.1 、参数化构建模块:
因为我们只需要ssh登陆远程服务器后进入固定目录git代码就可以,因此这里的变量其实只有一个版本号或者分支号这样的值,
因此选择最简单的 string parameter就行了。在这个模块同时定义参数名称(比如我的变量名称叫做branchname)、
默认值(可以不指定)以及备注。
3.2 、ssh publisher模块:
ssh server name处会出现所有可用的ssh server信息,选中需要登陆的那一个
exec commond 模块输入命令,比如我的是:
cd 代码目录
git pull
git checkout $branchname
4、如果还想在jenkins控制台输出一些发布信息的话,可以输入echo $branchname等信息。
5、保存job
6、参数化构建job
比如输入一个分支号或者master,查看jenkins的控制台输出,即可查看更新的进度情况。
7、最后手动登陆到对应服务器,到对应目录下,使用git status 查看代码是否是jenkins更新后的分支。是的话代表job成功了。