一、依赖环境

  1. SSH,远程机开启SSH服务,允许Jenkins所在机器通过SSH服务登录到远程机执行脚本;可以设置SSH使用用户名/密码或通过key登录,SSH配置请查看我之前的jenkins配置文章。
  2. JDK,本文部署的是JAVA应用,远程机上要用jdk环境,如非Java应用请忽略。
  3. Tomcat或其他web容器,本文是以Tomcat为例,将应用部署到Tomcat中运行,远程机上安装Tomcat是必须的,如非Java应用请忽略,如用其他web容器请查找容器的安装资料。

二、前期准备

1、安装 Publish Over SSH 插件

由于后面我们还需要把打好的包分发到远程的服务器.所以这里还要再安装一个Publish Over SSH插件.这样的话,我们就可以在jenkins配置中直接使用远程拷贝了,把包直接拷贝到远程服务器。我这里是已经安装过了。

2、配置 Publish over SSH

我们添加一台服务器,后面打好的包将推送到这台服务器的 tomcat 上面。

  • 系统管理--->系统设置--->Publish over SSH。

  • 添加对应服务器的账号信息。

SSH Servers:远程服务器相关配置,也就是我们要把程序发布到的那一台机器的相关配置。
Name:起一个名字,方便后面配置发布的时候,选择服务器。
Hostname:远程服务器的IP地址,如果写远程的主机名的话,要在jenkins的hosts文件中加映射。
Username:服务器账号用户名。
Remote Directory:要把文件发布到远程机器的哪一个目录。

  • 我们针对单一的服务器进行配置,只需要填写好特定服务器的账号密码即可,我们也可以配置统一的无密码通信,即使用公钥通信。

  • 测试成功,点击保存即可,我们在后面构建项目的时候可以直接选择被构建的服务器。

3、安装 git 插件

因为我们的 jenkins 需要从 gitlab 获取代码,需要安装 git 插件。

二、创建 java 任务

1、创建一个 maven 任务

  • 任务名字可以随便填写。

2、General

描述:我们可以随便填写,大概介绍一下项目的情况,以及发送到哪个机器。
丢弃旧的构建:为了不对服务器存储造成太大的压力,我们需要清理之前构建的一些项目,这里大家可以按照自己的情况进行设定。

3、源码管理

这里我使用的是自己的 gitlab 代码仓库,没有设定权限,在 github 上面的地址为:https://github.com/wangzan18/game-of-life 。

Repository URL:填写我们git项目的地址,gitlab上面的每个项目都有相应的地址。
Credentials:我这里演示的是公开的项目,如果是私有项目,需要添加认证,我会在其他的博文进行讲解演示。
Branches Specifer:因为我的项目直接在master分支上面进行更新的,所以这里填写了*/master,如果使用的其他分支可以相应的修改即可。

4、构建触发器

构建触发器我这里没有用到,意思就是说,当触发了什么条件等时候,我们后面会和 gitlab 进行自动发布。

5、构建环境

哈哈,这里我没有用到哦。

6、Pre Steps

也就这几个选项,也就是构建前需要做什么。反正我是没有用到。

7、Build

配置相对比较简单,按照如上填写即可。

8、Post Steps

暂时不写什么,还没有用得到。

9、构建设置

可以填写邮件通知,告诉我构建的结果。

10、构建后操作

这里是比较重要的一块,这里我们选择的是:Send build artifacts over SSH。

SSH Server Name:这里选择之前我们配置好的服务器,并且已经测试了SSH连接,服务器也已经安装了Tomcat。
Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔),为了简要也可以写**/*.war
Remove prefix:移除前缀(只能指定Source files中的目录)。
Remote directory:远程目录(这里也是相对目录,目录根据我们配ssh的时候填写的Remote Directory 路径,我写的是/root,后面会上图,在这个路径的基础上的相对路径。

Exec command:把你要执行的命令写在里面,也就是我们平时手动操作的一些过程。

一切配置的差不多之后,我们保存,进行构建测试。

三、构建测试

1、开始构建

我们回到任务栏,点击任务最后面的构建按钮。

2、查看构建

  • 我们点击我们构建的 #2 号任务。

我们点击控制台输出,查看一下构建的过程,一些失败的过程我们也可以从中去进行查看。

3、构建成功

我们可以看到BUILD SUCCESS,说明我们编译打包没有了什么问题。
再可以看到下面的一些命令的执行,也都是成功的,经过我们测试,项目也确实发布了,没有什么问题,至此大功告成,已经我们的更改,都只需点击一下按钮就可以发布测试了,为我们节省了很多时间。
本版本只是简要介绍了一下项目的发布,中间可能也会有很多设定不合理的地方,后期会不断的进行更新。

参考文档:https://wiki.jenkins.io/display/JENKINS/Publish+Over+SSH+Plugin

转载于:https://blog.51cto.com/wzlinux/2159948

持续集成之 Jenkins+Gitlab 打包发布程序到 Tomcat(二)相关推荐

  1. 持续集成之Jenkins+Gitlab实现持续集成

    项目使用git+jenkins实现持续集成 开始构建  General  源码管理  我们安装的是Git插件,还可以安装svn插件  我们将git路径存在这里还需要权限认证,否则会出现error    ...

  2. Jenkins——持续集成及Jenkins介绍和安装配置(插件,用户权限,凭据,Maven安装打包,配置tomcat用户权限)

    持续集成及Jenkins介绍和安装配置 持续集成及Jenkins介绍 软件开发生命周期 持续集成 持续集成的组成要素 持续集成的好处 Jenkins介绍 Jenkins安装和持续集成环境配置 Gitl ...

  3. python 持续集成工具_持续集成工具: Jenkins学习

    持续集成工具: Jenkins学习 -- 部分内容收集自网络,如有侵权,请联系作者删除 一. 概念 在过去的开发整体流程中,是所有人写好代码之后统一进行合并(svn,git),然后进行测试,确保准发布 ...

  4. 微服务容器部署与持续集成(Jenkins)

    微服务容器部署与持续集成(Jenkins) 一.微服务容器部署 1.Dockerfile 1.1 Dockerfile简介 1.2 使用脚本创建镜像 2.Docker私有仓库 2.1 私有仓库搭建与配 ...

  5. 持续集成平台Jenkins配置方法介绍

    持续集成(Continuous integration,CI)是软件开发和发布流程中最重要的组成部分,有利于加快开发进度.Jenkins是常用的持续集成管理工具,本文将简要介绍Jenkins持续集成工 ...

  6. 【DevOps】持续集成环境-Jenkins安装图文版

    文章目录 前言 Jenkins的安装 1. 环境 2. 安装java 3. 下载Jenkins 4. 安装Jenkins 5. 访问测试 6. 安装插件 7. 创建管理员账号 8. 安装完成: 总结 ...

  7. 【云原生 • DevOps】一文掌握持续集成工具 Jenkins

    目录 一.持续集成工具 Jenkins 介绍 1. 什么是持续集成 2. Jenkins 介绍 二.Jenkins 的安装与部署 1. 安装 Jenkins 2. 本地访问 Jenkins 3. 插件 ...

  8. 老李分享:持续集成学好jenkins之Git和Maven配置

    老李分享:持续集成学好jenkins之Git和Maven配置 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请 ...

  9. 持续集成平台Jenkins:docker镜像升级

    Jenkins 2.357 及 LTS 2.361.1之后的版本要求Java 11 或者 17,如果使用的是Java 8,要升级最新版本的Jenkins,就需要升级Java JDK版本,本文记录一下如 ...

最新文章

  1. Rosetta | Rosetta简介
  2. Eclipse 如何安装,以及jdk如何设定环境变量
  3. SAP WM中阶Storage Type的Capacity Check – Check based on maximum quantity per bin in storage type.
  4. iptables对请求的URL作IP访问控制
  5. Leetcode 257. 二叉树的所有路径 解题思路及C++实现
  6. OpenCV定制和调试检测系统
  7. 在ASP.NET页面中动态添加控件
  8. 带有AngularJS资源的Spring Rest Controller
  9. python 操作word docproprety_Python 的 类方法 静态方法 和 proprety
  10. [文摘]Eclipse中如何批量替换
  11. Opencv项目实战:05 物体检测
  12. 跳转微信公众号首页方式
  13. 淘宝带你走进——幽灵Crash迷踪案
  14. 无法打开计算机开始菜单,开始菜单,教您开始菜单无法打开
  15. 我把B站番剧的视频和弹幕一起下载下来了……
  16. 终于做了这个决定, 准备认认真真的学习java啦,
  17. IC笔试:​2022小米数字芯片提前批笔试
  18. 【田姓】宗谱——【迁徙分布】
  19. 深圳注册公司可以异地办公吗
  20. 软件工程工作量评估中的ILF,EIF,EI,EO,EQ术语解释

热门文章

  1. Android 使用GridView以表格的形式显示多张图片
  2. [剑指Offer]9.用两个栈实现队列
  3. CentOS SVN 服务器搭建
  4. NetofficeSystem协同办公系统今日发布
  5. 运维自动化之使用PHP+MYSQL+SHELL打造私有监控系统(七)
  6. LDAP实现企业异构平台的统一认证
  7. gnome-terminal 快捷键
  8. webpack4配置(1)-打包一个js文件
  9. BZOJ2595: [Wc2008]游览计划(斯坦纳树,状压DP)
  10. MySQL---主从复制