jenkins配置文件在哪
1个回答
展开全部
当然,你也可以为你的目标机器安装SSH服务。
我先说说解决的思路,然后再附上具体的步骤和shell脚本。
思路:将jenkins安装在linux系统上--->SVNcheckout部署的项目--->maven插件编译、打包--->使用jenkins的FTP插件将需要部署的项目或打成的包上传到指定的机器--->执行shell脚本登录该机器进行解压、部署、启动等操作(也可以直接执行写好的shell)。
具体步骤:
(1)源码管理,填写相应的项目SVN地址以及用户名密码
(2)配置mavenbuild,maven插件的配置在系统设置里面设置。
(3)FTP上传
这里的Sourcefiles是jenkins的workspace的相对路径,Removeprefix为取消的前缀(只保留项目名称部分)。
(4)构建时执行脚本
这是Telnet远程登录的脚本
#!/usr/bin/envshUSERNAME=swdev #登录用户名PASSWARD=swdev #登录密码TAR=icore-business-ecif-biz-0.0.1-SNAPSHOT-unix.tar.gz#TAR是上传的压缩包的名字MODEL=provider #MODEL是压缩包根目录的名字和启动的二进制程序名一样DEPLOY_DIR=ecif #DEPLOY_IP是上传文件所在的目录REMOTE_IP=192.168.2.3 #登录IP(sleep1;echo"$USERNAME";\sleep1;echo"$PASSWARD";\sleep1;echo"cd\$HOME/$DEPLOY_DIR";\sleep1;echo"chmod+x./deploy";\sleep1;echo"nohup./deploy$TAR$MODEL2>&1>deploy.log&";\sleep10)|telnet$REMOTE_IPexit0
(5)构建后执行脚本deploy.sh(主要用于解压、部署、启动等操作,这个放在上传文件所在的目录中)
#!/usr/bin/envsh##$1tar.gzname#$2providersourcefoldername#set-elog_message{echo"[$(date+%Y%m%d-%H:%M:%S)]$1"}BASDIR=$(dirname$0)if[$#-lt2];thenlog_message"Usage:$(basename$0)[tarname][providername]"exit1fi#Stoppreviousversionandbackup,thenremovepreviouspackageCMD="$BASDIR/$2/bin/$2"if[-e"$2"];then$CMDstopbackup="${2}-$(date+%Y%m%d%H%M%S)"log_message"Backuppreviousapplicationto${backup}.tar.gz"tar-cvf$backup.tar$2gzip${backup}.tarrm-rf$2filog_message"Extractpackagebegin"gunzip-c$1|tar-xvf-#Generatelogdirectorymkdir-p$BASDIR/$2/logslog_message"Startingapplication"$CMDstart
这个脚本只是一个示例,需要根据具体业务具体而定。
最后呢,遇到的几个比较坑的地方拿出来与大家分享下:
FailedtoparsePOMs.
原因:本地服务器和maven服务器之间的连接出现了问题,导致jar包无法下载而报错
解决方法:
vi/etc/hosts
在文件末尾加上你所使用的私服地址如:"192.168.1.1www.nexus.xxx.com"
运行"#/etc/init.d/networkingrestart"重启网络
我先说说解决的思路,然后再附上具体的步骤和shell脚本。
思路:将jenkins安装在linux系统上--->SVNcheckout部署的项目--->maven插件编译、打包--->使用jenkins的FTP插件将需要部署的项目或打成的包上传到指定的机器--->执行shell脚本登录该机器进行解压、部署、启动等操作(也可以直接执行写好的shell)。
具体步骤:
(1)源码管理,填写相应的项目SVN地址以及用户名密码
(2)配置mavenbuild,maven插件的配置在系统设置里面设置。
(3)FTP上传
这里的Sourcefiles是jenkins的workspace的相对路径,Removeprefix为取消的前缀(只保留项目名称部分)。
(4)构建时执行脚本
这是Telnet远程登录的脚本
#!/usr/bin/envshUSERNAME=swdev #登录用户名PASSWARD=swdev #登录密码TAR=icore-business-ecif-biz-0.0.1-SNAPSHOT-unix.tar.gz#TAR是上传的压缩包的名字MODEL=provider #MODEL是压缩包根目录的名字和启动的二进制程序名一样DEPLOY_DIR=ecif #DEPLOY_IP是上传文件所在的目录REMOTE_IP=192.168.2.3 #登录IP(sleep1;echo"$USERNAME";\sleep1;echo"$PASSWARD";\sleep1;echo"cd\$HOME/$DEPLOY_DIR";\sleep1;echo"chmod+x./deploy";\sleep1;echo"nohup./deploy$TAR$MODEL2>&1>deploy.log&";\sleep10)|telnet$REMOTE_IPexit0
(5)构建后执行脚本deploy.sh(主要用于解压、部署、启动等操作,这个放在上传文件所在的目录中)
#!/usr/bin/envsh##$1tar.gzname#$2providersourcefoldername#set-elog_message{echo"[$(date+%Y%m%d-%H:%M:%S)]$1"}BASDIR=$(dirname$0)if[$#-lt2];thenlog_message"Usage:$(basename$0)[tarname][providername]"exit1fi#Stoppreviousversionandbackup,thenremovepreviouspackageCMD="$BASDIR/$2/bin/$2"if[-e"$2"];then$CMDstopbackup="${2}-$(date+%Y%m%d%H%M%S)"log_message"Backuppreviousapplicationto${backup}.tar.gz"tar-cvf$backup.tar$2gzip${backup}.tarrm-rf$2filog_message"Extractpackagebegin"gunzip-c$1|tar-xvf-#Generatelogdirectorymkdir-p$BASDIR/$2/logslog_message"Startingapplication"$CMDstart
这个脚本只是一个示例,需要根据具体业务具体而定。
最后呢,遇到的几个比较坑的地方拿出来与大家分享下:
FailedtoparsePOMs.
原因:本地服务器和maven服务器之间的连接出现了问题,导致jar包无法下载而报错
解决方法:
vi/etc/hosts
在文件末尾加上你所使用的私服地址如:"192.168.1.1www.nexus.xxx.com"
运行"#/etc/init.d/networkingrestart"重启网络
镭速传输
2024-10-28 广告
2024-10-28 广告
作为深圳市云语科技有限公司的一员,我们推出的FTP替代升级方案,旨在解决传统FTP在安全性、效率、稳定性及管理方面的不足。我们的产品通过采用自主研发的Raysync传输协议,实现高效、安全的文件传输,即使在恶劣网络环境下也能确保传输的稳定性...
点击进入详情页
本回答由镭速传输提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询