一、前言
上篇主要介绍jenkins部署环节时的基础环境配置,本篇介绍如何利用jenkins把项目发布到远程服务器中
二、项目部署发布
1、新建任务
输入任务名称,选择构建maven项目,点击确定
2、参数化构建过程(可选)
注:参数化构建过程可以提供maven构建时所需要的键值对参数,比如下图
3、源码管理
根据项目选择版本控制,本文是以svn为案例,因此选择Subversion
填入svn远程服务器地址:http://localhost/svn/Muse-Workflow@HEAD,@Head意思是取svn服务器上最新版本,选择已经配置好的svn凭证(即:访问svn服务器的用户名和密码)
4、构建环境
选择Send files or execute commands over SSH after the build runs
5、构建环境(参数介绍)
a、Sourec files 这个是配置需要执行的jar,war或者其他压缩包 b、Remove prefix 这个是移除前缀目录的,本项目的压缩包在根目录下面的target下面,所以要移除target这个目录 c、Remote directory 这个目录是要传送压缩包包到目标服务器的目录。 d、Exec command 这个是要执行的远程脚本目录,部署,达到自动化部署的目的,如果不写脚本,那就jenkins只能帮你把压缩包包传到目标服务器而已。 e、构建环境中勾选“Add timestamps to the Console Output”,代码构建的过程中会将日志打印出来
6、Build
代码语言:javascript复制输入maven打包命令
clean package -P dev -Dlogstash.host=${logstashHost} -Dfile_server_addr=${fileServerAddr} -Dfastdfs.tracker_servers=${fastdfsTrackerServers} -Dmaven.test.skip=true点击保存
三、运行构建
选择 Build with Parameters
查看控制台输出
从日志可以看出构建并发布成功
四、总结
以上就是通过jenkins发布项目到远程服务器的例子,如果公司自己内部的开发的公共jar包,要记得及时更新到公司内部maven私服,以免项目发布失败。至于如何通过nexus建立maven仓库私服,改天分享个教程
五、附录部分脚本参数
代码语言:javascript复制1、本例中解压zip并执行发布命令脚本
cd /root/oaCore/${project_name}/${BUILD_TIMESTAMP}
ls -a | sort -r | head -n 1 | xargs unzip
cd $(ls -a | sort -r | head -n 1 | xargs -I {} basename {} .zip)
sh install.sh
sleep 3
service ${project_name} start
代码语言:javascript复制2、springboot项目通用执行脚本
#!/bin/bash
SpringBoot=$2
if [ "$1" = "" ];
then
echo -e "