使用开源软件Jenkins一键发布项目到服务器

简介: 搭建步骤其实很简单,先去官网(https://jenkins.io/)下载一个war包。然后上传linux服务器,或者直接用wget命令下载。下载好后可以直接用java -jar jenkins.war 运行。如果安装了tomcat等web服务器的话就放入对应的路径运行服务器即可。tomcat在webapps下。不推荐使用tomcat,因为war包里本身就包括了一个内置的服务器。如果想后台运行可以用nohup命令。nohup java -jar jenkins.war & ,指定端口加上 --httpPort=xxxx 。

首先Jenkins是什么呢?就是一种持续集成项目的一款开源软件,是用java写的。部署简单,中文界面,可一键从git clone、pull。也可以打包发布,功能还是很多的,比如可以自动安装jdk、git、maven等等。在项目构建前后执行相关操作,比如shell脚本,也可以监控项目构建健康状态。使用Jenkins的话不管是运维、开发、测试都可以把push完的代码一键发布。


搭建步骤其实很简单,先去官网https://jenkins.io/)下载一个war包。然后上传linux服务器,或者直接用wget命令下载。下载好后可以直接用java -jar jenkins.war 运行。如果安装了tomcat等web服务器的话就放入对应的路径运行服务器即可。tomcat在webapps下。不推荐使用tomcat,因为war包里本身就包括了一个内置的服务器。如果想后台运行可以用nohup命令。nohup java -jar jenkins.war &  ,指定端口加上 --httpPort=xxxx 。


下载好打开ip:端口就可以。第一次登录需要一个密码,随后可以创建一个管理员账号。密码在下图位置:


2018091416115830.png


那个随机的数字+字母就是初始化密码了。账号默认admin。


Jenkins主界面:


20180914161831632.png


因为我服务器上已经安装好了jdk,git,maven等工具,所以这里就不演示怎么安装了,相信大家都会,今天只说Jenkins。


然后在左上角点开系统管理--->全局工具配置,拉到最底下配置一个maven,点击新增,取消勾选自动安装,填上自己的maven路径然后保存就可以!


20180914162611879.png


回到首页,我们点击左上角新建任务,输入一个任务名称,选择自由风格的项目就可以。在源码管理下,选择git地址和分支名称。


20180914163108353.png


如果是svn也是同样的道理。构建这里选择刚才添加的maven插件。我这里是直接打包并跳过测试了。目标就是你的maven命令。


20180914163243502.png


其实到这里基本的步骤就完成了,首先已经克隆了项目,然后maven也打包了,去Jenkins的workspace下就可以看见打包过后的jar包了。


20180914163709142.png


这样最简单的办法就是直接 java -jar 运行jar即可(我这里是springboot项目),如果不是的话复制到tomcat目录下。但是都说了是自动化一键构建,所以再通过ssh工具操作linux服务器启动的话就有点low了。可以在项目构建完成后让Jenkins帮我们执行shell脚本文件,这样就代替了手动操作。也是很方便的。先提前写好一个脚本。这段脚本还是很好理解的,就算没学过shell也可以看得懂,但是linux基本命令是要会的。别忘了给脚本添加可执行权限:chmod +x restart.sh


#!/bin/bash
echo "restart project..."
#$1 项目名称 $2 jar名称
export project_path=/root/.jenkins/workspace/$1
ps -ef|grep java|grep $2|awk '{print $2}' | xargs kill -9
cd ${project_path}
cd target
nohup java -jar $2 > /root/.jenkins/workspace/$1/nohub.out 2>&1 &
echo "SUCCESS!"


在这里添加shell脚本命令。我直接把脚本放在workspace里面了。如果只有一个项目的话也可以写死项目名和jar名。我这里把他当作参数传进去了,那么这个脚本就可以通用别的项目。当然这里也可以不配git和maven,然后全程使用shell脚本来操作,不过对脚本的要求比较高,需要专门学习下。这里就不贴脚本了。(我们公司就是全脚本运行,当然不是我写的。啊哈哈!!)


20180914175444555.png


BUILD_ID=DONTKILLME
cd /root/.jenkins/workspace
./restart.sh spring-boot-template spring-boot-template-0.0.1-SNAPSHOT.jar


完成后可在控制台看见日志文件,方便找错。


20180914175656498.png


linux的nohub日志文件:目录位置在上面的脚本文件里,可以进行修改,方便自己查看。


20180914175817283.png


然后这篇博客就到这里了。(本人才疏学浅,如有错误纯属正常,欢迎指出!)

目录
相关文章
|
2天前
|
运维 Java 测试技术
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
Spring运维之boo项目表现层测试加载测试的专用配置属性以及在JUnit中启动web服务器发送虚拟请求
9 3
|
2天前
|
Java Maven
springboot项目打jar包后,如何部署到服务器
springboot项目打jar包后,如何部署到服务器
12 1
|
1天前
|
安全 关系型数据库 MySQL
本地项目无法连接阿里云服务器MYSQL---轻量应用服务器篇
本地项目无法连接阿里云服务器MYSQL---轻量应用服务器篇
8 0
|
2天前
|
弹性计算 缓存 监控
云效将项目代码部署到云服务器ECS
云效支持一键和手动部署,一键部署因其高效、一致性和可重复性而受青睐,但也存在灵活性不足和初期设置复杂的挑战。优化方向包括简化脚本、提供选项、完善文档、集成监控和回滚机制。一键部署步骤概括为:准备云效项目和ECS,配置项目和环境,编写部署脚本,设置一键部署,测试脚本,审核发布,监控结果,及后续维护。实际操作应参照云效最新文档。
10 0
|
6天前
|
安全 Java Linux
从零开始搭建服务器之更加优雅地部署项目(2)
从零开始搭建服务器之更加优雅地部署项目
|
6天前
|
应用服务中间件 Linux nginx
从零开始搭建服务器之更加优雅地部署项目(1)
从零开始搭建服务器之更加优雅地部署项目
|
6天前
|
弹性计算 关系型数据库 MySQL
阿里云ECS如何部署并运行一个JavaWeb项目
阿里云ECS如何部署并运行一个JavaWeb项目
33 0
|
弹性计算 安全 前端开发
ECS初体验——基于ECS的PHP WEB项目部署
本文内容主要是关于在ECS上搭建PHP web环境操作流程,并且会结合笔者在搭建过程中遇到的一些常见或不常见的问题给出一些比较实用的避坑建议。 ECS实例规格:云翼计划学生默认; 服务器OS:Debian 8.11 64位; WEB环境:LAMP——Linux+Apache2+Mysql5.5.62+PHP5.6.4
ECS初体验——基于ECS的PHP WEB项目部署
|
5天前
|
存储 弹性计算 Linux
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后试用云服务器和购买云服务器的主要流程,适合初次购买和试用阿里云服务器的新手用户参考。
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
|
2天前
|
存储 弹性计算 安全
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
阿里云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。把物理服务器比作买的房子,云服务器ECS,就是租赁的房子,阿里云云服务商就是管家。云服务商负责搭建机房、提供配套服务和维护,用户只需要付租金,即可“拎包入住”,无需自建机房、采购和配置硬件设施。如果不再需要云服务器,可随时“退租”(释放资源),节省成本。本文为大家解析云服务器ECS产品优势、应用场景和最新价格及常见问题。
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考