有时候开发须要查看服务器日志,传统的是须要运维登陆服务器拉取开发所须要的服务日志,这么作的弊端是:一、若是日志比较大,拉取耗费时间、占用服务器资源。二、占用运维没必要要的工做量。三、为了服务器安全考虑,反复的登陆服务器,容易被一些内部员工记住服务器密码或秘钥。python
废话很少说,先来看效果:git
当咱们点击上面项目名后面的参数化构建(build with parameters)时,出现下面界面shell
当咱们在N框输入所要看的日志行数,下面日期能够输时间,也能够不输(不输就默认输出如今的日志),而后点击“开始构建”,构建完毕后,就能够看到服务器上的日志显示在Jenkins控制台上tomcat
而后选择“参数化构建”,而后添加两个“string parameter”,输入下面内容安全
而后下面的默认便可服务器
而后在构建环境中选择“send files or excute commands over SSH after the build runs”(构建完执行命令),在SSH server中选择要查看日志的服务器运维
而后在执行命令的地方填上代码“tail -$N /data/tomcat/logs/catalina.out$DATE”,其中的N和DATE就是供后面传参的。ssh
剩下的基本上默认便可post
当配置完,保存后,就能够实现刚才手动构建日志的功能 了。测试
这个功能主要是实现构建时能够选择是构建项目仍是回滚项目,接下来下贴上Jenkins上的配置。
简单说就是利用参数化构建,创建choice,choice里面创建两个变量,一个是发布新版,一个是回滚旧版。选择变量类型string parameter来传递要回滚的版本号。构建时选择运行bat脚本,写上判断语句,判断是发布仍是回滚。bat脚本里也能够内置pathon脚本,把条件判断写在python脚本,运行命令写上python xx.py便可
选择参数化构建,添加参数中选择“choice”和“string parameter”,而后填上下面内容。
接下来虽然不是参数化构建的重点,可是确实构建的重点。每一个公司的构建插件不同,这里使用的是插件publish over ssh 。
上面截图的内容意思是指定Jenkins上工做目录上须要上传到远程服务器的war包,指定Jenkins服务器上构建时须要移除的目录(已构建过的之前的项目),指定远程服务器上源码存放的路径,而后在远程服务器上执行shell目录下的脚本。
下面截图是Jenkins工做目录下项目
启用步骤: 构建后操做→Add post-build action→Send build artifacts over SSH SSH Server Name:选个一个你在系统设置里配置的配置的名字 Transfer Set Source files:须要上传的文件(注意:相对于工做区的路径。看后面的配置能够填写多个,默认用,分隔) Remove prefix:移除目录(只能指定Transfer Set Source files中的目录) Remote directory:远程目录 Exec command:把你要执行的命令写在里面;也能够填写脚本路径(存放在远程服务器上的绝对路径) (新版本的要求Transfer Set Source files和Exec command都要填写,能够不了他。老版本的容许只填写一个) 高级: Exclude files:排除的文件(在你传输目录的时候颇有用,使用通配符,例如:**/*.log,**/*.tmp,.git/) Pattern separator:分隔符(配置Transfer Set Source files的分隔符。若是你这儿更改了,上面的内容也须要更改) No default excludes:禁止默认的排除规则(具体的本身看帮助) Make empty dirs:此选项会更改插件的默认行为。默认行为是匹配该文件是否存在,若是存在则建立目录存放。选中此选项会直接建立一个目录存放文件,即便是空目录。(我的理解) Flatten files:只上传文件,不建立目录(除了远程目录) Remote directory is a date format:远程目录创建带日期的文件夹(须要在Remote directory中配置日期格式)
当选择deploy时就执行构建新项目,若是选择rollback时就执行回滚操做。
有时候咱们但愿使用固定的几个分支来构建,那么咱们把分支名填入便可。
参数化构建中选择“选项参数”,填入分支名
2,不固定分支
有时候,开发想自建分支,这样分支就会不少,而又不想合到现有主分支上测试,那么就须要自定义分支了。
第一步:安装插件
第二步:进到配置项目中,点击“参数化构建过程”,选择git parameter,输入name,而后选择parameter Type为“branch or tag”
配置完保存便可。