Jenkins自动构建部署项目到远程服务器上的方法步骤
作者:陌筱明 发布时间:2023-11-25 00:21:40
1.下载jenkins
下载地址:https://jenkins.io/
本地下载地址:https://www.jb51.net/softs/535167.html
启动jenkins方式有2种
1.1切换到jenkins.war包的存放目录
启动命令: java -jar jenkins.war 启动jenkins
访问: localhost:8080 就能进入jenkins管理页面
1.2把jenkins.war放到tomcat的webapps目录下,然后去tomcat的bin目录下
启动命令: ./startup.sh启动tomcat
访问:localhost:8080/jenkins 就能进入jenkins管理页面
2.配置jenkins插件和全局工具配置
先去系统管理。然后里面有个插件管理
2.1先配置一下全局工具配置,不推荐自动安装
2.2添加除了新手推荐需要安装的插件
Publish Over SSH用于连接远程服务器
Deploy to container插件用于把打包的应用发布到远程服务器
3.构建项目,部署项目到远程服务器
3.1 配置连接远程服务器的ssh
去系统设置里配置Publish over SSH
Passphrase 服务器的密码
Path to key 连接远程服务器密钥文件的路径
Key 密钥文件的内容
Name 自定义服务器名
HostName 服务器IP外网地址
UserName 服务器用户名
Remote Directory 传输文件的目录
3.2构建项目
确定后,配置项目的源码管理,构建触发器
如果构建的git仓库是私网地址,要配置对应域和用户信息,公网请跳过以下配置
添加完git私库对应的域名,点击Ok,然后选中刚刚添加的那条记录,然后配置域合法的用户信息,然后确认就ok
配置构建触发器
触发器建议使用这2种
1.定时构建
定时构建就是没隔一段时间就是构建1次任务
0 * * * * 代表每小时0分的时候构建1次项目
第1个代表分,第2个代表时,第3个代表日,第4个代表月,第5个代表周
2.轮询SCM
轮询SCM就是查看源码管理的代码有没有更新,如果更新了就去构建,没有更新就不会构建
*/5 * * * * 代表每5分钟就去查看源码有没有更新
配置构建的参数
Source files 项目构建后的目录
Remove prefix 去前缀
Remote directoty 发布的目录
Exec command 发布完执行的命令,我这边写的是发布完会重启tomcat
填完以上内容后保存构建任务,然后开始构建项目
然后点击任务,去控制台看构建
这个时候部署好的war项目就发布到了你的远程服务器的tomcat里面了
tomcat在重启的时候会把你war包自动解压
tomcat重启的脚本内容如下
#! /bin/bash
tomcat_home=/usr/local/tomcat-8
SHUTDOWN=$tomcat_home/bin/shutdown.sh
STARTTOMCAT=$tomcat_home/bin/startup.sh
echo "关闭$tomcat_home"
$SHUTDOWN
#杀死tomcat进程
ps -ef|grep $path|grep java|awk '{print $2}'|xargs kill -9
#删除日志文件,如果你不先删除可以不要下面一行
rm $tomcat_home/logs/* -rf
#删除tomcat的临时目录
rm $tomcat_home/work/* -rf
sleep 5
echo "启动$tomcat_home"
$STARTTOMCAT
#看启动日志
#tail -f $tomcat_home/logs/catalina.out
这个时候我们用jenkins自动部署项目到服务器就已经学习完毕了
希望能够帮到大家,这个是我自学的总结。
点击下面的文字链接可以跳转到自动构建vue项目的博客。
jenkins自动构建发布vue项目
来源:https://blog.csdn.net/ming19951224/article/details/80958761


猜你喜欢
- 先来一个常见的错误信息:Due to limitations of the com.mongodb.BasicDocument, you c
- 1. 偏向锁的核心原理轻量级锁在没有竞争时(就自己这个线程),每次重入仍然需要执行 CAS 操作。 Java 6 中引入了偏向锁来做进一步优
- 很久以来都想研究一下利用java操作Excel的方法,今天没事,就稍微了解了一下,特总结一下。利用java操作Excel,有个开源的东东-j
- 反射实例化类public class Person{ public string Name { get; set; }publi
- 本文实例讲述了C#字符串加密解密方法。分享给大家供大家参考。具体如下:#region 加密解密static string encryptKe
- 一、引言在移动应用程序的架构设计中,界面与数据即不可分割又不可混淆。在绝大部分的开发经历中,我们都是使用Fragment来进行界面编程,即使
- 两种方法,第一种是静态开启方法把application 或者 activity的主题设置为Theme.Holo即可<?xml vers
- 本文实例为大家分享了banner轮播图无限轮播效果的具体代码,供大家参考,具体内容如下效果展示第一步(权限配置)<uses-permi
- 本文章向大家介绍JAVA爬取天天基金网数据,主要包括JAVA爬取天天基金网数据使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参
- 本文实例讲述了Android模拟器实现手机添加文件到sd卡的方法。分享给大家供大家参考,具体如下:在DDMS中直接添加文件到模拟器sd卡如果
- 前提:已经配置Zuul网关参考:https://www.jb51.net/article/182894.htm限流方式:1)nginx层限流
- 博主最近在做一个内网项目,内部可以访问外部数据,但是外部访问不了内部数据,这也就造成了可能文件无法上传,所以博主另辟蹊径,在本地服务器上建立
- 前言在java里,当我们需要拷贝一个对象时,有两种类型的拷贝:浅拷贝与深拷贝。浅拷贝只是拷贝了源对象的地址,所以源对象的值发生变化时,拷贝对
- 记得面试时候,有面试官会问道,你们多数据源是怎么实现的呀。.......,一阵蒙蔽中,然后说道我们之前项目中,没有用到多数据源。所幸,目前做
- 本文实例为大家分享了java判断某个点是否在所画范围内的具体代码,供大家参考,具体内容如下IsPtInPoly.javapackage co
- 前面讲了 Spock框架Mock对象方法经验总结一、静态方法Mock静态方法我们使用PowerMock结合Mockito的方案,首先在测试类
- 安卓开发网络请求可谓是安卓开发的灵魂,如果你不会网络请求,那么你开发的应用软件就是一具没有灵魂的枯骨。在安卓开发中进行网络请求和java中的
- eureka获取服务ip和端口号进行Http调用我告诉你们为啥我要先从eureka首先获取 goods的服务ip, 在用ip的方式使用htt
- C#字符集编码的使用ASCII:西欧字符集GB2312:国家简体中文字符集,兼容ASCII。BIG5:统一繁体字编码GBK:它是GB2312
- 一般都在windows下开发的,现在部署到linux下:1,将项目达成war包(用eclipse,项目右键-->Export-->