持续部署
参考:Jenkins详细教程_zhishidi的博客-CSDN博客
珠峰教程笔记:http://www.zhufengpeixun.com/strong/html/61.12.devops-jekins.html
jenkins服务器搭建和项目部署
Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
1.背景
在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试; 或者前后端分离后,经常会修改接口,然后重新部署; 这些情况都会涉及到频繁的打包部署;
手动打包常规步骤:
- 1.提交代码
- 2.问一下同组小伙伴有没有要提交的代码
- 3.拉取代码并打包(war包,或者jar包)
- 4.上传到Linux服务器
- 5.查看当前程序是否在运行
- 6.关闭当前程序
- 7.启动新的jar包
- 8.观察日志看是否启动成功
- 9.如果有同事说,自己还有代码没有提交......再次重复1到8的步骤,费时费力
那么,有一种工具能够实现,将代码提交到git后就自动打包部署勒,答案是肯定的:Jenkins
当然除了Jenkins以外,也还有其他的工具可以实现自动化部署,如Hudson等
只是Jenkins相对来说,使用得更广泛。
Jenkins自动化部署实现原理
Jenkins部署环境
基本环境:
- 1.jdk环境,Jenkins是java语言开发的,因需要jdk环境。
- 2.git/svn客户端,因一般代码是放在git/svn服务器上的,我们需要拉取代码。
- 3.maven客户端,因一般java程序是由maven工程,需要maven打包,当然也有其他打包方式,如:gradle
以上是自动化部署java程序jenkins需要的基本环境,请自己提前安装好,下面着重讲解Jenkins的安装部署配置。
Jenkins安装
去 https://www.jenkins.io/download/ 下载自己环境对应的war包,我这里是centos7(ip: 192.168.3.101)
下载完后放入自定义目录下,然后启动 java -jar jenkins.war
待启动成功后 访问http://192.168.3.101:8080完成配置
账号 root 密码:看日志得知初始密码
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
e4b7e1ff816e464ea94ebd79189736bd
This may also be found at: /root/.jenkins/secrets/initialAdminPassword
密码文件使用后会自动删除
默认选择推荐插件即可。
准备使用
现在还并不能真正开始使用,先安装一些可能的用到的工具/插件
git安装(已安装忽略)
yum install -y git
Maven安装
下载后放到Jenkins所在服务器解压缩
为了后面打包速度,先配置一下阿里云镜像,修改xxxx/maven/conf/settings.xml
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
进入Jenkins,找到Dashboard --> Manage Jenkins --> Global Tool Configuration
拉到最下,找到Maven,Maven安装,点击新增Maven,名字自己取一个,MAVEN_HOME填自己maven全路径
Jenkins安装插件
登录Jenkins,找到Dashboard --> Manage Jenkins --> Manage Plugins --> 可选插件
搜索publish over ssh并安装(勾选单选框,点击下方按钮"Install without restart")