部署Java项目(Ⅱ)

一、安装插件

  • 系统管理 -> 管理插件,检查是否已经安装 Maven Integration pluginDeploy to container Plugin,若没有安装则需要安装这两个插件。
  • 安装完插件后,需要重启jenkins
systemctl restart jenkins
  • 创建新任务
  • 登录jenkins,点击“新建”,任务名称自定义(我的叫做 java_t)
  • 选择“构建一个maven项目
  • 点击“确定

选择 “git”, Repository URL填写你的git地址,并配置对应的key,大家最好事前先在jenkins这台机器上能够直接远程git操作私有仓库

上一次分享我已经分享了关于这部分的私钥问题。 有问题的去找找看!

Build TriggersBuild EnvironmentPre Steps保持默认

Build

Root POM”为pom.xml, Goals and options 填写 clean install -D maven.test.skip=true

Post StepsBuild Settings 保持默认

构建后操作

如上就是我们编译源码,生成包,下一步就是咱们的发布动作:

先来创建一个邮件提示:(高级选项,自己可以自定义)

再次点击“Post-build Actions”选择“Deploy war/ear to a container”,“WAR/EAR files”填写

**/*.war

Contex path留空,Containers选择Tomcat 8.x,Tomcat URL填写要把war包发布到的哪台台机器的url,如 http://192.168.59.138:8080/

Credentials这里需要点击右侧的Add,添加用户名和密码

当然上面的 Deploy war/ear to a container 这一步,其账号信息和密码均是之前我来配置的tomcat!

重新启动 Jenkins 服务

systemctl restart jenkins

找到我们刚刚创建的Maven项目,点击“build now”

其实第一次构建时间有点长,等到现在我看到输出的操作日志中仍然是在不停的下载各种插件。

但是最终还是粗错了。。

也收到了失败的邮件:

问题解决:

查看了错误日志,找到了解决方案,我们需要操作如下:指定jdk的家目录:

再次重启服务:

systemctl restart jenkins

再次 build now(我也标注了咱们编译好的war包 位置)

成功了,也收到了成功编译的邮件:

在Tomcat server上面去查看:

[[email protected] tomcat]# ls webapps/
docs  examples  host-manager  manager  ROOT  zrlog-1.8.0-SNAPSHOT  zrlog-1.8.0-SNAPSHOT.war

可能还有一个问题,如何回滚呢?

一旦出现问题,我们需要回滚,其实回滚也很简单,只要在git上面回滚一下,再次重新发布即可!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏后端云

OpenStack实践SR-IOV计算节点

SR-IOV 使一个单一的功能单元(比如,一个以太网端口)能看起来像多个独立的物理设备,即支持SR-IOV 功能的物理设备能被配置为多个功能单元。

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

如何在CentOS 7上使用InfluxDB分析系统指标

InfluxDB是一个时间序列,指标和分析数据库。时间序列数据库旨在解决存储在一段时间内进行的连续测量所产生的数据的问题。此数据可能包含系统指标(如CPU和内存...

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

如何在CentOS 7上使用InfluxDB分析系统指标

InfluxDB是一个时间序列,指标和分析数据库。时间序列数据库旨在解决存储在一段时间内进行的连续测量所产生的数据的问题。此数据可能包含系统指标(如CPU和内存...

3053
来自专栏DevOps时代的专栏

占坑!利用 JenKins 持续集成 iOS 项目时遇到的问题

持续集成(Continuous Integration,简称CI)是一种软件开发实践:许多团队频繁地集成他们的工作,每位成员通常进行日常集成,进而每天会有多种集...

1602
来自专栏Puppeteer学习

实现node端渲染图表的简单方案

这个题目有点小,本篇博客真正谈论的应该是服务端生成图表的简单方案,这里面有两个关键字:服务端 & 简单,我们知道基于js有很多的图表库,知名的如D3、echa...

2592
来自专栏青玉伏案

Swift3.0服务端开发(三) Mustache页面模板与日志记录

本篇博客主要介绍如果在Perfect工程中引入和使用Mustache页面模板与日志记录系统。Mustache页面模板类似于PHP中的smarty模板引擎或者Ja...

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

如何使用Ansible自动在Ubuntu 14.04上安装WordPress

Ansible是一种简单,无代理的自动化基础架构方式。如果您发现自己一遍又一遍地部署WordPress,Ansible可以为您节省大量时间。

2074
来自专栏黑泽君的专栏

通过数据库中的表,使用 MyEclipse2017的反向生成工具-->hibernate反转引擎引擎(MyEclipse2017自带的插件) 来反转生成实体类和对应的映射文件

1、在MyEclipse中,Java视图下,新建一个普通的java project,新建该项目的目的是:用来接收反转引擎生成的实体类和对应的映射文件。

1442
来自专栏吴柯的运维笔记

Linux文件权限的更改:理解第一,命令次之

Linux文件权限的更改: -Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 -文件或目录的访问权...

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

CentOS 7如何设置uWSGI和Nginx提供Python应用服务

在本指南中,我们将设置一个由uWSGI提供服务的简单WSGI应用程序。我们将使用Nginx Web服务器作为应用程序服务器的反向代理,以提供强大的连接处理。我们...

1964

扫码关注云+社区

领取腾讯云代金券