Jenkins 自动化部署
久仰Jenkins大名,特前来做个Demo以此来学习Jenkins自动化部署
一. 使用场景
使用Jenkins + Git + Maven 在Ubuntu下自动化部署SpringBoot项目,将SpringBoot项目上传至Git的master分支上,然后Jenkins就将Git上的分支拉过来,使用Maven构建,并在服务器上运行
二. 部署步骤
1. 安装Jenkins
在官网上(https://jenkins.io/) 点击Download 之后,选择所要部署的服务器发行版,我的服务器用的阿里云(Ubuntu 16.0.4)所以选择 Ubuntu/Debian系列。进入之后按照官方提示操作
- 添加Jenkins的Debian软件仓库,用于自动安装
1 | wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add - |
- 在/etc/apt/sources.list上添加实例
1 | deb https://pkg.jenkins.io/debian-stable binary/ |
- 安装Jenkins
1 | sudo apt-get update |
2. 安装其依赖环境
2.1 安装Java
- 添加ppa
1 | sudo add-apt-repository ppa:webupd8team/java |
- 安装oracle-java-installer
1 | sudo apt-get install oracle-java8-installer |
- 获取JAVA_HOME
1 | echo $JAVA_HOME |
2.2 安装Maven
Maven 这里我使用的是 通过上传压缩包进行安装
官网(http://maven.apache.org/download.cgi)下载maven 压缩包,我使用的是apache-maven-3.6.0-bin.tar.gz
解压文件
1 | mkdir /usr/local/maven # 创建压缩包位置 |
- 修改配置文件
1 | vim /usr/local/maven/apache-maven-3.6.0/conf/setting.xml |
主要是修改localRepository文件路径,下载Jar文件的存储路径
1 | <localRepository>/path/to/local/repo</localRepository> <!-- 可填写自己的路径 --> |
1 | <mirror> <!-- 配置阿里云的远程仓库 --> |
- 配置环境变量
1 | vim /etc/profile |
1 | 在profile文件下添加 |
使配置文件生效
1 | souce /etc/profile |
- 测试maven是否生效
1 | mvn -v |
- 获取MAVEN_HOME参数
1 | echo $M2_HOME |
2.3 安装Git
1 | sudo apt-get install git |
3. 配置Jenkins
3.1 启动Jenkins
- 启动Jenkins
1 | sudo /etc/init.d/jenkins [start|restart|stop] |
- 启动之后,通过ip+8080访问jenkins,首次进入需要输入密码,密码位置:
1 | cat /var/lib/jenkins/secrets/initialAdminPassword |
插件安装,点击Install suggested plugins,安装推荐插件(此过程需要等待一段时间)
安装完成之后,进入Create First Admin User页面,里面输入用户名,密码即可
3.2 配置插件
在Jenkins中系统管理 - 插件管理里可以配置插件,其中在这里必要配置的插件就是Pipeline Maven Integration 或者 Maven Integration plugin
这样配置Maven之后,在New任务下,就会显示一个构建一个Maven任务了。
3.3 全局工具配置
- 配置JDK
- 配置Git
- 配置Maven
3.4 系统配置
- 配置Github Webhook
上面主要有3步: 第一步:填写Payload URL,即访问Jenkins的URL,第二步:选择Just the push event,第三步:打钩Active,然后点击Add webhook
4. 新建任务
回到Jenkins的页面,New任务,点击构建一个Maven任务,如果没有这一项,可以回到前面看下maven插件有没有安装
- General配置
点击Github项目,填写项目URL
- Source Code Management 配置
选中Git,配置Repository 》Repository URL,Credentials,Branch Specifier (blank for ‘any’)
- Build Triggers 配置
按照下图选择即可
- Build Environment 配置
展示个Demo,可以不配置
- Pre Steps
展示Demo,可以不配置
- Build配置
- Post Steps配置
这里比较重要,主要就是执行部署后的操作,可以使用Shell文件进行配置。这里Shell的话,意图就是先Kill掉在运行的项目,然后把从Git上拉过来的,已经打包好了的Jar包运行在后台。具体的Shell文件的话,可以自己写,当然我是不会贴出来的。
到这里为止,关于Jenkins + Git + Maven的简单配置就基本完成了,其实Jenkins是一个很强大的工具,这里只是使用了其自动部署的功能,它还有自动测试,CI,CD功能等等,学习Jenkins对项目开发,或者别的都是一个巨大的帮助
参考
Jenkins+github+maven自动构建发布SpringBoot项目: https://blog.csdn.net/w105021/article/details/78657382