Jenkins+MVN+Tomcat+Centos实现自动化部署

简介:

        运维最大的悲剧就是熬夜跟着开发 进行线上部署调试bug,这是我最不想看到的,不过最近老大研究除了一个很好的东西,虽然是烂大街的东西,但是解决了我最容易加班的事情,下面就来说说搭建的具体流程,与大家共勉:

1.系统环境介绍

# 系统版本
root@dubboadmin:~# cat /etc/issue
Ubuntu 14.04.3 LTS \n \l
#jdk版本,jdk版本和tomcat 的版本一定要按照教程使用,因为这东西对版本要求挺严格的,不然起不来
root@dubboadmin:~# java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
# 系统jdk是上面那个版本1.7.0_21,但是我们我们jenkins所在的tomcat并非1.7,使用的是1.8,具体修改如下
root@dubboadmin:/opt/tomcat-7.0.77/jenkins-web/bin# pwd
/opt/tomcat-7.0.77/jenkins-web/bin
root@dubboadmin:/opt/tomcat-7.0.77/jenkins-web/bin# vim setclasspath.sh 
# 在这个文件的开头加上这两句话
JRE_HOME=/opt/jdk1.8.0_144/jre
JAVA_HOME=/opt/jdk1.8.0_144/
# tomcat版本
root@dubboadmin:/opt/tomcat-7.0.77/jenkins-web/bin# ./version.sh 
Using CATALINA_BASE:   /opt/tomcat-7.0.77/jenkins-web
Using CATALINA_HOME:   /opt/tomcat-7.0.77/jenkins-web
Using CATALINA_TMPDIR: /opt/tomcat-7.0.77/jenkins-web/temp
Using JRE_HOME:       /opt/jdk1.8.0_144/jre
Server version: Apache Tomcat/6.0.1
Server built:   @VERSION_BUILT@
Server number:  @VERSION_NUMBER@
OS Name:        Linux
OS Version:     3.19.0-25-generic
Architecture:   amd64
JVM Version:    1.8.0_144-b01
JVM Vendor:     Oracle Corporation
# 使用的是maven环境,所以需要下载jar,我们的jar包都放在了artifactory,需要的jar都去那里下载
所以要确保这个机器和artifactory在物理连接上是通的,修改hosts
192.168.1.191   artifactory.test.com

2.安装maven

 下载地址在博客后文有附件

  安装很简单,找个地方解决过来之后,修改环境变量

root@dubboadmin:/opt# cat /etc/profile
    ........    ........
export M2_HOME=/opt/maven-je/maven
export PATH=$M2_HOME/bin:$PATH
# 执行source 使文件立即生效
root@dubboadmin:/opt# source  /etc/profile
# 使用mv tab 可以看到maven的执行命令
root@dubboadmin:/opt# mv
mv            mvn           mvn.bat       mvnDebug      mvnDebug.bat

3.安装svn工具

apt-get install subversion

4.安装jenkins

去jenkins官网下载相应版本,小编使用的是vjenkins2.79

官网地址:https://jenkins.io/download/

把下载好的war包放到tomcat下就可以了,然后启动tomcat,在浏览器里面访问就可以了

5.安装jenkins插件

Maven Integration plugin
Subversion Plug-in
Publish Over SSH

安装过程如下:

wKioL1nLUDqT_ZQhAABYRI9KNs0745.png

wKioL1nLUDviTc43AAHW2RmeAjU585.png

wKiom1nLUHqB4F-oAACSQRynm64931.png

依次点击:系统管理---管理插件---可选插件---输入想要安装的插件---勾选搜索后的想要安装的插件----点击直接安装

注意:同时会有其他依赖的插件安装,若有安装失败的就去http://updates.jenkins-ci.org/download/plugins下载后在“高级”那里上传上来即可;


所有插件安装完成后重启jenkins服务,直接重启tomcat即可

6.配置

6.1 配置jdk和maven环境

wKioL1nLUweyLGTnAAHTULC61PA763.png

wKiom1nLU0aigvcAAADdj9xcY0I351.png

依次点击:系统管理---Global Tool Configuration---如实填写你的maven和jdk的路径

6.2添加主机

  a.配置jenkins和需要部署项目的机器之间互信

首先需要配置Jenkins所在Linux到部署Linux的免密登录,假设两者ip分别为192.168.1.111和112,则在111上执行命令:

(命令1有交互按自己的需求填写,简单的就全部直接回车)

(命令2需要输入112的root密码)

# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.112

   b.添加需要部署项目的主机

wKiom1nLVFfi84_oAAHBCQeyU8g970.png

在最下面输入对方的主机ip、用户、以及目录(这个目录是要把代码传到那个目录下的目录)

wKioL1nLVaayMyiYAAAzXtbCmHY511.png6.3 创建一个job

wKiom1nLV8Whpi0WAABWnVlN1PE696.png

wKioL1nLV4fQ4qldAACQ9nTyCDQ929.png

wKioL1nLV7Xxu5WjAABEeDSRNos868.pngwKioL1nLWALgv_6_AAA1iywzAYY341.pngwKiom1nLWEuBtWg4AAAcW1LgYzs030.pngwKioL1nLWVnAMpDPAAFCe4ZpioY897.png6.4 部署项目

wKioL1nLWn7wAu6KAAELi5MyU0I151.png

wKiom1nLWr2wNXX1AABTk2GlUVY403.png

点击构建状态,可以看构建日志

wKioL1nLWrSy4JslAAAw0epT3UA158.png


wKioL1nLWxXC2HOVAABkSM-ctvs875.png



说说那几个路径的区别:

wKiom1nLYNGQcDHVAAASCqW9k0g135.png

wKiom1nLYNmSOXVoAADnszG2d5o434.png

wKiom1nLYKWijZfuAAARbBajLE8502.png

wKioL1nLYGbSHjNbAAAQtRsb5Fo393.png

wKioL1nLYPLBhx4BAAASrLks4vI575.png

wKiom1nLYKXDMhqFAAASzdEK1gk681.png

至此,jenkins部署全部结束










本文转自 xinsir999 51CTO博客,原文链接:http://blog.51cto.com/xinsir/1969200,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
jenkins 持续交付 开发者
自动化部署:使用Jenkins和Docker实现持续集成与交付
【8月更文挑战第31天】本文旨在为读者揭示如何通过Jenkins和Docker实现自动化部署,从而加速软件开发流程。我们将从基础概念讲起,逐步深入到实际操作,确保即使是初学者也能跟上步伐。文章将提供详细的步骤说明和代码示例,帮助读者理解并应用这些工具来优化他们的工作流程。
|
2月前
|
运维 监控 jenkins
运维自动化实战:利用Jenkins构建高效CI/CD流程
【10月更文挑战第18天】运维自动化实战:利用Jenkins构建高效CI/CD流程
|
2月前
|
Java jenkins 持续交付
Centos7下docker的jenkins下载并配置jdk与maven
通过上述步骤,您将成功在CentOS 7上的Docker容器中部署了Jenkins,并配置好了JDK与Maven,为持续集成和自动化构建打下了坚实基础。
114 1
|
2月前
|
运维 jenkins 持续交付
自动化部署的魅力:如何用Jenkins和Docker简化运维工作
【10月更文挑战第7天】在现代软件开发周期中,快速且高效的部署是至关重要的。本文将引导你理解如何使用Jenkins和Docker实现自动化部署,从而简化运维流程。我们将从基础概念开始,逐步深入到实战操作,让你轻松掌握这一强大的工具组合。通过这篇文章,你将学会如何利用这些工具来提升你的工作效率,并减少人为错误的可能性。
|
2月前
|
运维 监控 jenkins
运维自动化实践:利用Jenkins实现高效CI/CD流程
【10月更文挑战第18天】运维自动化实践:利用Jenkins实现高效CI/CD流程
|
4月前
|
持续交付 jenkins Devops
WPF与DevOps的完美邂逅:从Jenkins配置到自动化部署,全流程解析持续集成与持续交付的最佳实践
【8月更文挑战第31天】WPF与DevOps的结合开启了软件生命周期管理的新篇章。通过Jenkins等CI/CD工具,实现从代码提交到自动构建、测试及部署的全流程自动化。本文详细介绍了如何配置Jenkins来管理WPF项目的构建任务,确保每次代码提交都能触发自动化流程,提升开发效率和代码质量。这一方法不仅简化了开发流程,还加强了团队协作,是WPF开发者拥抱DevOps文化的理想指南。
88 1
|
4月前
|
Kubernetes jenkins 持续交付
Jenkins 插件生态:提升自动化能力
【8月更文第31天】Jenkins 是一个开源的持续集成/持续交付(CI/CD)平台,广泛应用于软件开发的各个阶段。Jenkins 的一大特色就是其丰富的插件生态系统,这些插件极大地扩展了 Jenkins 的功能,使其能够适应各种各样的应用场景。本文将深入探讨 Jenkins 的插件生态系统,并指导如何选择和配置插件以满足特定需求。
194 1
|
4月前
|
持续交付 jenkins C#
“WPF与DevOps深度融合:从Jenkins配置到自动化部署全流程解析,助你实现持续集成与持续交付的无缝衔接”
【8月更文挑战第31天】本文详细介绍如何在Windows Presentation Foundation(WPF)项目中应用DevOps实践,实现自动化部署与持续集成。通过具体代码示例和步骤指导,介绍选择Jenkins作为CI/CD工具,结合Git进行源码管理,配置构建任务、触发器、环境、构建步骤、测试及部署等环节,显著提升开发效率和代码质量。
79 0
|
4月前
|
JavaScript jenkins 持续交付
自动化部署与持续集成:使用Jenkins和Docker优化开发流程
【8月更文挑战第31天】在软件开发的世界里,时间就是一切。本文将引导你通过Jenkins和Docker的强大组合,实现自动化部署和持续集成,让你的开发流程如丝般顺滑。我们将从基础设置开始,逐步深入到构建管道,最终实现一键部署的梦想。准备好让你的开发效率飞跃,一起探索这个令人兴奋的旅程吧!
|
4月前
|
jenkins Shell 持续交付
自动化部署:使用Jenkins和Docker实现CI/CD
【8月更文挑战第31天】 本文旨在引导读者了解如何通过Jenkins和Docker来实现持续集成和持续部署(CI/CD),从而优化开发流程,提升工作效率。文章将详细介绍配置Jenkins服务器、创建Docker镜像以及设置自动化构建和部署的步骤。通过实际操作案例,我们将展示如何将代码变更快速部署到测试或生产环境,确保软件质量与发布速度的双重保障。