之前关于jenkins的基本安装配置等都介绍了,现在终于可以开始进行我们的自动部署了。
1.创建任务
在jenkins主页面左侧菜单选择New一个任务,填写名称dev(自己定义就行),选择构建一个自由风格的软件项目,点击ok进入任务配置页面
2.任务配置
在General填写一下任务描述
在Source Code Management(源码管理)中选择git(我用的是git和gitLab,svn的选下面的),然后输入gitLab地址,下面的Credentials不需要配置,我们要把之前jenkins服务器的公钥配置到gitLab的SSH Keys中。然后Branches to build选择你的分支。
在Build Triggers(构建触发器)中选择“轮询 SCM”
在Build(构建)的Add build step中选择“调用顶层Maven”目标,Maven version选择maven,Goals填写命令:clean package -Dmaven.test.skip=true
在Post-build Actions(构建后操作)的Add post-build action中选择“Send build artifacts over SSH”,因为我这里有两个需要部署的服务器,第一个填写完成之后,还需要Add Server,在添加另一个服务器,并填写配置。
SSH Server Name:之前在系统设置里配置的服务器名称
Transfer Set Source files:需要上传到服务器的文件
Remove prefix:去掉前缀
Remote directory:可选的目标文件夹
Exec command:在远程服务器将要执行的命令,(这里需要自己写个小脚本,脚本内容结束原来的jar进程,启动新的jar进程,然后在这里调用这个脚本,对服务进行重新启动)
高级选项(一般不需要填写):
Exclude files:排除的文件(在传输目录的时较有用,使用通配符,例如:/*.log,/*.tmp,*.txt/)
Pattern separator:分隔符(配置Transfer Set Source files的分隔符)
No default excludes:禁止默认的排除规则
Make empty dirs:此选项会更改插件的默认行为。默认行为是匹配该文件是否存在,如果存在则创建目录存放。选中此选项会直接创建一个目录存放文件,即使是空目录。
Flatten files:只上传文件,不创建目录(除了远程目录)
Exec timeout (ms):运行脚本的超时时间(毫秒)
Exec in pty:模拟一个终端执行脚本
Add Transfer Set:增加一个传输配置
Remote directory is a date format:远程目录建立带日期的文件夹(需要在Remote directory中配置日期格式)
到这里就配置完了,点击save保存
3.运行任务
点击立即构建,Console Output可以查看构建的日志输出。如果构建成功,去服务器看一下项目有没有重新部署。
时间紧急先记录一下,以后有时间完善