Jenkins自动构建部署项目到远程服务器上

Jenkins自动构建部署项目到远程服务器上1.下载jenkins下载地址:https://jenkins.io/启动jenkins方式有2种1.1切换到jenkins.war包的存放目录启动命令:java-jarjenkins.war启动jenkins访问:localhost:8080就能…

大家好,又见面了,我是你们的朋友全栈君。

                                     

1.下载jenkins

    下载地址:https://jenkins.io/

    启动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插件和全局工具配置

 

先去系统管理。然后里面有个插件管理

Jenkins自动构建部署项目到远程服务器上

 

 

Jenkins自动构建部署项目到远程服务器上

 

2.1先配置一下全局工具配置,不推荐自动安装

Jenkins自动构建部署项目到远程服务器上

Jenkins自动构建部署项目到远程服务器上

 

2.2添加除了新手推荐需要安装的插件

Publish Over SSH用于连接远程服务器

Jenkins自动构建部署项目到远程服务器上

Deploy to container插件用于把打包的应用发布到远程服务器

Jenkins自动构建部署项目到远程服务器上

 

 

 

 

3.构建项目,部署项目到远程服务器

3.1 配置连接远程服务器的ssh

去系统设置里配置Publish over SSH

Jenkins自动构建部署项目到远程服务器上

Jenkins自动构建部署项目到远程服务器上

 

 

Passphrase                服务器的密码

Path to key                  连接远程服务器密钥文件的路径

Key                             密钥文件的内容 

Name                         自定义服务器名

HostName                  服务器IP外网地址

UserName                  服务器用户名

Remote Directory     传输文件的目录

 

3.2构建项目

Jenkins自动构建部署项目到远程服务器上

 

Jenkins自动构建部署项目到远程服务器上

 

确定后,配置项目的源码管理,构建触发器

 

Jenkins自动构建部署项目到远程服务器上

 

 

如果构建的git仓库是私网地址,要配置对应域和用户信息,公网请跳过以下配置

Jenkins自动构建部署项目到远程服务器上

Jenkins自动构建部署项目到远程服务器上

添加完git私库对应的域名,点击Ok,然后选中刚刚添加的那条记录,然后配置域合法的用户信息,然后确认就ok

Jenkins自动构建部署项目到远程服务器上

 

 

 

配置构建触发器

 

Jenkins自动构建部署项目到远程服务器上

 

触发器建议使用这2种

1.定时构建

定时构建就是没隔一段时间就是构建1次任务

0 * * * *   代表每小时0分的时候构建1次项目

 第1个代表分,第2个代表时,第3个代表日,第4个代表月,第5个代表周

2.轮询SCM

轮询SCM就是查看源码管理的代码有没有更新,如果更新了就去构建,没有更新就不会构建

*/5 * * * * 代表每5分钟就去查看源码有没有更新

 

配置构建的参数

Jenkins自动构建部署项目到远程服务器上

Source files     项目构建后的目录

Remove prefix    去前缀

Remote directoty 发布的目录

Exec command     发布完执行的命令,我这边写的是发布完会重启tomcat

填完以上内容后保存构建任务,然后开始构建项目

Jenkins自动构建部署项目到远程服务器上

然后点击任务,去控制台看构建

Jenkins自动构建部署项目到远程服务器上

Jenkins自动构建部署项目到远程服务器上

Jenkins自动构建部署项目到远程服务器上

这个时候部署好的war项目就发布到了你的远程服务器的tomcat里面了

tomcat在重启的时候会把你war包自动解压

Jenkins自动构建部署项目到远程服务器上

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://javaforall.net/137056.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PHP+MySql例子

    对于熟悉做网站的人来说,要想网站做成动态的,肯定要有数据库的支持,利用特定的脚本连接到数据库,从数据库中提取资料、向数据库中添加资料、删除资料等。这里我通过一个实例来说明如何用php连接到数据库的。

    2021年12月23日
    42
  • phpstorm 激活码生成【最新永久激活】2022.02.28

    (phpstorm 激活码生成)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月2日
    293
  • 国内一些服务器网站不用备案教程[通俗易懂]

    关于免备案这个问题,我首先说明一下,我不是在提倡大家域名不要备案,这只是一项技术并不是用来给大家滥用的,希望大家能够明白!众所周知,要想使用国内服务器或者主机是是必须要通过工信局的ICP备案的,但是也有的伙伴怕麻烦或者通过不了,这里我教下大家这个使用CDN做到免备案,其实要做到绕过国内服务器域名备案的方法目前小编知道的有两种,一种是利用反向代理、一种就是利用CDN,当然了,你有更多方法愿意分享出来的,可以在评论下方提出。今天,我们就着重讲利用CDN绕备案吧首先,我们要准备好工具,网站、服务器

    2022年4月8日
    293
  • Docker网络,网络工程师还不赶紧收藏!

    Docker网络,网络工程师还不赶紧收藏!学习Docker网络前建议清空所有环境dockerrmi-f$(dockerimages-aq)每启动一个docker容器,docker就会给docker容器分配一个ip。只要安装了docker,就会有一个网卡docker0(桥接模式,使用的是evth-pair技术)什么是Evth-pairEvth-pair就是一对的虚拟设备接口,他们都是成对出现的,一段连着协议,一段彼此相连.正因为这个特性,evth-pair充当一个桥梁,连接各种虚拟网络设备。OpenStac,Dock

    2022年7月19日
    17
  • 线程池参数动态调整

    线程池参数动态调整线程池的参数动态调整

    2022年6月5日
    47
  • ES6 判断对象是否为空「建议收藏」

    ES6 判断对象是否为空「建议收藏」判断对象是否为空最简单的方式就是用ES6的letobj={}if(Object.keys(obj).length==0){ console.log(“对象是空的”)}else{//Object.keys(obj).length可获取对象的长度console.log(“obj的长度:”+Object.keys(obj).length)}…

    2022年5月22日
    441

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号