Jenkins工作流程

程序员提交代码到Git/SVN仓库,触发钩子程序向 JenKins 进行通知,Jenkins 调用Git/SVN插件获取源码,调用Maven打包为war包,调用Deploy to web container插件部署到Tomcat服务器。

独立还是Servlet

Jenkins可以使用自己的内置Web服务器(Jetty)在自己的进程中独立运行。它也可以作为现有框架中的一个servlet运行,如Tomcat或Glassfish应用程序服务器。本节专门针对独立的安装和执行。

Windows安装

下载 jenkins.war

其它方式百度。

在下载目录中打开终端并运行 java -jar jenkins.war --httpPort=8080

浏览http://localhost:8080并按照说明完成安装。

登录

默认用户名admin,密码位于.jenkins/secrets下的 initialAdminPassword文件

全局安全配置

  1. 允许用户注册
  2. 任何用户都可以做任何事

全局工具配置

  1. Maven的设置配置成本地路径(强烈建议把setting文件拷贝到workspace文件夹下,输入../settings.xml)
  2. 添加JDK,取消自动安装

  1. 配置MAVEN_HOME

插件安装

Ctrl + F 搜索 Deploy to container ,勾选安装。

安装成功

安装GitLab插件

上传项目代码到GitLab

参考链接

https://jingyan.baidu.com/article/9c69d48fe68cce13c9024e9c.html

创建任务

Git源配置

注意该URL目录下有pom.xml文件,也就是位于根目录。

点击Add之后,注意下方填入GitLab用户名和密码

一定别忘了选择自己生成的证书!

构建触发器

远程触发器的作用,当你访问这个URL网址时,会自动构建项目。

例如;

http://127.0.0.1:8080/job/Demo/build?token=123456789

构建

这里你使用 Execute shell 形式 即 shell 脚本语言进行构建操作。

不过我们是Java项目,使用的是Mavne构建,所以选择最后的调用顶层 Maven 目标。

立即构建

点开工作区,出现target文件夹

Jenkins 使用天气图标代表执行结果

构建后操作

发布到Tomcat

必须要有Deploy to container 插件

点击之后,设置构建后的war包相对路径,context path 是访问的域名xxx.cn/demo

然后是 Tomcat manager 的用户名和密码(配置参考:https://www.cnblogs.com/yueshutong/p/10184022.html

最后是Tomcat的路径。

保存,回来再次构建。回到Tomcat所在的服务器,访问 http://127.0.0.1:8888/demo/ 即可。

触发钩子程序

我们试着修改index.jsp,然后提交到Gitlab。

还记得前面配置的触发器吗?

访问配置的触发网址 http://127.0.0.1:8080/job/Demo/build?token=123456789

当我访问了触发器URL后,Jenkins 工作区就开始构建。

然后,再次访问 http://127.0.0.1:8888/demo/ 网址,发现已经成功更新。

我参考的文章

https://blog.csdn.net/m1126m/article/details/78556359

JenKins自动化构建部署流程参考的更多相关文章

  1. windows 安装 jenkins 自动化构建部署至linux服务器上

    一.环境准备 1.git安装环境 参考链接 https://www.cnblogs.com/yuarvin/p/12500038.html 2.maven安装环境,包括jdk环境安装 参考链接 htt ...

  2. dokcer自动化构建部署java web 基于jenkins+maven+nuxus容器

    # dokcer自动化构建部署java web 基于jenkins+maven+nuxus容器 #环境centos 7.4 docker 18.03.0-ce # nuxus,创建maven本地源(可 ...

  3. Jenkins自动化构建系列:01敏捷开发、自动化构建与持续集成

    <SVN与TortoiseSVN实战系列>已写完,今天新开一个<Jenkins自动化构建系列>,上周听了Bob Jiang老师的Agile1001公开课,一直想写个总结,这篇关 ...

  4. 使用Docker+Jenkins自动构建部署

    环境 Windows 10 Docker Version 18.06.1-ce-win73 (19507) 运行jenkins 运行jenkins 容器 docker run -d --name ln ...

  5. Jenkins自动化构建python nose测试

    [本文出自天外归云的博客园] 简介 通过Jenkins自动化构建python nose测试分两步: 1. 创建节点(节点就是执行自动化测试的机器): 2. 创建任务并绑定节点(用指定的机器来跑我们创建 ...

  6. Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建

    Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建 一.Jenkins 进入项目---->Configure 1.设置项目代码从git中拉取 2.设置钩子程序 二.git ...

  7. Jenkins自动化构建配置

    写在前头 我每次修改代码一点东西,都要进行一个重新发布.重新发布的流程大概如下: 将最新代码同步上传到git上面 Maven打包 mvn clean install 将最新的jar包上传到服务器上面, ...

  8. 使用jenkins自动化构建android和ios应用

    背景 随着业务需求的演进,工程的复杂度会逐渐增加,自动化的践行日益强烈.事实上,工程的自动化一直是我们努力的目标,能有效提高我们的生产效率,最大化减少人为出错的概率,实现一些复杂的业务需求应变.场景如 ...

  9. 用Docker运行Jenkins自动化构建.NET Core项目

    目标 当代码提交到GitHub后,自动生成构建项目并部署到服务器.接下来介绍一下如何在容器中运行Jenkins,并自动化构建GitHub上的项目,使用自动化构建来解放你的双手. 前置条件 一台已经安装 ...

随机推荐

  1. 嵌套RecyclerView左右滑动替代自定义view

    以前的左右滑动效果采用自定义scrollview或者linearlayout来实现,recyclerview可以很好的做这个功能,一般的需求就是要么一个独立的左右滑动效果,要么在一个列表里的中间部分一 ...

  2. DES数据解密

    /// <summary> /// DES数据解密 /// </summary> /// <param name="targetValue">& ...

  3. Flutter 布局(二)- Padding、Align、Center详解

    本文主要介绍Flutter布局中的Padding.Align以及Center控件,详细介绍了其布局行为以及使用场景,并对源码进行了分析. 1. Padding A widget that insets ...

  4. HDU 2086 A1 = ? (找规律推导公式 + 水题)(Java版)

    Equations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2086 ——每天在线,欢迎留言谈论. 题目大意: 有如下方程:Ai = (Ai-1 ...

  5. 浅析data:image/png;base64的应用

    ...我也是加一个网安交流群发现了他们的入群密码是这个 数据:图像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgAAANwAAAAoCAIAAAAaOwPZAAAAAXNSR ...

  6. MySQL用户远程登录问题

    今天来水一篇,差点被这个远程登录搞死了,所以记录下这个问题. 先使用status命令查看一下MySQL版本,这里可以可以看到我用的是是8.0.12版本. mysql> status ------ ...

  7. android开发——用户头像

    最近,小灵狐得知了一种能够加快修炼速度的绝世秘法,那便是修炼android神功.小灵狐打算用android神功做一个app,今天他的修炼内容就是头像功能.可是小灵狐是个android小白啊,所以修炼过 ...

  8. Linux之文档与目录结构

    Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有“盘(C盘.D盘.E盘)”的概念.已经建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来 ...

  9. 一、tars简单介绍 二、tars 安装部署资料准备

    1.github地址https://github.com/Tencent/Tars/ 2.tars是RPC开发框架,目前支持c++,java,nodejs,php 3.tars 在腾讯内部已经使用了快 ...

  10. node基础—函数的调用

    普通本地函数的调用 var http = require('http'); http.createServer(function(request,response){ response.writeHe ...