Jenkins实现SpringBoot应用自动部署

工具的出现,目的就是为了提高我们的工作效率,让我们把时间花在做重要的事情上。学习本文你需要具备基本的Linux知识,学习自动部署的前提是你能够手动在服务器完成部署。

服务端环境

CentOS 7.0,Java1.8,Maven 3.5.2 ,git1.8(环境变量需配置完成,并非必须是相同的环境)

Jenkins的下载与安装

下载

官网:https://jenkins.io/

我这里是普通的部署只需要下载 Generic Java package (.war) 版本即可,关于其他的版本例如Docker版,可能会在后期推文中讲解。下载完毕后上传至您的Linux服务器中.

安装

在上一步中,你也可以在服务器端通过wget命令下载,命令:

wget http://mirrors.jenkins.io/war/latest/jenkins.war

运行Jenkins,命令:

nohup java -jar jenkins.war --httpPort=10010 > /usr/local/vcens/serv/log/jenkins/jenkins.log 2>&1 &

该命令意为: nohup .... & 是将指令挂在后台运行,java -jar jenkins.war 是启动Jenkins运行, --httpPort = 10010 为指定Jenkins的服务端口,> path >2>& 1 是将日志输出在指定目录下

建议将该脚本编写成shell文件放在服务端,执行该文件即可,为了方便下次操作方便。

操作完成后进入日志目录查看,如果无误即可在浏览器输入 "ip+端口/域名"即可进入安装界面

根据上边红色的路径查看初始密码;

vim /path

填写完毕后,要求安装插件,你可以选择安装全部,或者跳过安装,稍后手动安装

安装全部插件如图,静待安装完成,然后设置登陆密码等。

至此,Jenkins安装完成。下图有一个任务是我自己的,默认是没有的。

创建自动部署任务

添加git账户认证信息

:在面板首页>Credentials>System>Global credentials (unrestricted)>Add Credentials>填写您的认证信息并保存

配置Git

:在面板首页>系统设置>全局工具设置>找到git选项>删除默认配置>添加自己服务器端的git路径>取消勾选自动安装>保存>完成

:查看git 路径::添加git

新建ITEM>输入名称和选择构建一个自由风格的软件项目>确定

在接下来的页面中你会看到如下Tab

在源码管理中选择Git并Copy你的码云或Github地址到 Repository URL ,选择您的认证信息,在Branch Specifier (blank for 'any') 中填写您的开发分支

如你所见,在Credentials 右边的ADD按钮我不建议使用,因为在我这里尝试了很多次都是无法添加的,所以我把第一步改为了添加git配置)

你当然可以选择Generic Webhook Trigger作为您的构建触发器

构建

:点击增加构建步骤选择 Execute Shell,当然您可以选择你需要的方式。

如下图,写入您的操作指令即可

这里我的脚本执行流程为

maven 清理编译代码> 查找服务相关的进程并停止服务 >将原工作服务文件备份> 将新构建完成的文件部署到工作目录>执行启动命令

至此,配置完成,点击保存按钮,你可以在面板首页看到你添加的构建任务,点击进入该任务,点击左侧的立即构建,即可开始处理任务。

选择Console Output即可查看运行日志。

如果配置操作等没问题且看到了Finished :SUCCESS ,恭喜你,完成了自动部署的90%,当然,还有例外情况,如果您编写的shell有问题,虽然可以Finished :SUCCESS,但是,很遗憾,去检查一下吧。

配置WebHook

进入码云>选择你要配置的项目>管理>WebHook,你就可以看到如下界面

我们需要做的就是配置WebHook里的URL信息,再打开Jenkins

:面板首页>系统管理>管理用户>选择你要操作的用户>点击左侧的设置>右侧的>API tokens >点击Show API Token >你可以看到如下界面:

然后根据以下格式配置码云的URL信息

http:User ID:API Token@你的Jenkins服务地址/generic-webhook-trigger/invoke

保存完成后,点击测试,去你的Jenkins面板首页查看任务是否已经开始构建。配置完成后只要你提交代码,Kenkins都会自动帮你拉取最新代码并进行自动构建,部署。

个人建议不要配置WebHook进行自动部署,因为如果频繁提交,都会触发Jenkins执行自动编译构建部署,导致的后果可想而知了。你可以在提交代码后手动进入Jenkins服务器进行触发构建,更加安全。因为我是个人的小项目,所以并没有进行其他的比如测试等操作,Jenkins服务,生产环境都是在同一服务器进行,如果是更复杂的环境或项目,该教程仅作为基本参照,不一定能完全解决您的问题。

本文来自企鹅号 - 雨晨媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何使用Apache驱动Django

Django是一个功能强大的Web框架,可以帮助您快速启动Python应用程序或网站。Django包含一个简化的开发服务器,用于在本地测试您的代码。但是其也需要...

32250
来自专栏北京马哥教育

python虚拟环境virualenv的安装与使用

virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。...

40680
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Apache和mod_wsgi为Django应用程序提供服务

Django是一个功能强大的Web框架,可以帮助您快速启动Python应用程序或网站。Django包含一个简化的开发服务器,用于在本地测试您的代码,但是对于任何...

17200
来自专栏古时的风筝

Linux下安装Apache并以mod_wsgi方式部署django站点

源码编译方式安装Apache 首先下载Apache源码压缩包,地址为http://mirror.bit.edu.cn/apache/httpd/ 继续下载apr...

44690
来自专栏iOSDevLog

在Mac OS X上安装Python 3并使用virtualenv和virtualenvwrapper

这篇文章解释了如何在Mac OS X中安装Python 3,包括Mavericks和Yosemite。如果要清理安装Python 2.7,请查看此帖子。你也可以...

30110
来自专栏FreeBuf

上传Word文件形成存储型XSS路径

在渗透测试过程中,每当看到目标测试网站存在上传功能时,总会激起我的好奇心。如果能够走运的话,若目标网站服务器是PHP或ASP架构,而且上传功能没作后缀过滤,这样...

15530

使用Unicorn和Nginx在Ubuntu 14.04上配置Ruby on Rails应用程序

Ruby on Rails 是一个流行的 Web 应用程序框架,允许开发人员创建动态 Web 应用程序。本指南介绍如何在 Ubuntu 14.04 上使用Uni...

11430
来自专栏SpringBoot 核心技术

SpringCloud组件:Eureka服务注册是采用主机名还是IP地址?

我们一直在使用Eureka进行注册服务,然而你有可能很少关心服务在注册到Eureka Server时是采用的主机名的方式?还是IP地址的方式?

29010
来自专栏猿人谷

mac下使用github

      提起github相信大家都不会陌生,在这里就不再赘述了。作为开源代码库以及版本控制系统,使用好了确实会非常受益,再说的势利点,你找工作时给面试官说你...

21250
来自专栏蓝天

limits.conf

SuSE上的一些问题,可能需要另参考:http://blog.chinaunix.net/u2/64804/showart.php?id=2026903

7610

扫码关注云+社区

领取腾讯云代金券