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. mac os安装多个版本的chrome

    1.下载chrome69安装程序后,双击dmg文件 2.将chrome拖到Application文件夹,如图,选择保留两者,不要替换 打开应用程序,会多出一个Google Chrome2,重命名为Go ...

  2. MySQL常用命令(一)

    (1)库的基础操作 查看已有库: show databases; 创建库(制定默认字符集): ccreate database 库名 default charset=utf8; 查看创建库的语句: s ...

  3. 第八章 Hyper-V 2012 R2 故障转移群集

    和终端用户相比,企业用户对于业务的连续性和可靠性更为在意.相对而言,企业一般不会将追逐单一硬件的性能排在第一位. 如何衡量业务是否持续可用,一般使用"x 个 9"这种方式来定义.如 ...

  4. php判断手机是安卓系统还是ios系统

    最近项目,要判断用户的手机是安卓的还是ios的,搜了一下相关的资料,最终获得的结果.事实证明,是有效的!主要是要用到HTTP_USER_AGENT,它表示的意思是用来检查浏览页面的访问者在用什么操作系 ...

  5. 终极 Shell——ZSH

    Shell是Linux/Unix的一个外壳,你理解成衣服也行.它负责外界与Linux内核的交互,接收用户或其他应用程序的命令,然后把这些命令转化成内核能理解的语言,传给内核,内核是真正干活的,干完之后 ...

  6. SQLServer插入数据

    使用数据库管理工具插入数据 打开数据库,选则要插入数据的表->右键点击->选择插入前200行->在右边视图中输入要插入的数据(如果字段设置为不为空,则必须输入,如果字段设置为可空,则 ...

  7. docker 私有仓库简易搭建

    概要 本地私有仓库 局域网私有仓库 总结 概要 docker hub 使用非常方便,而且上面有大量的镜像可以使用. 但是,每次都远程下载镜像速度非常慢,如果能在本地做一个 docker 的仓库,多人协 ...

  8. June 1. 2018 Week 22nd Friday

    What makes life dreary is the want of motive. 没有了目的,生活便暗淡无光. We all have dreams about our future, we ...

  9. 异常--finally关键字

    finally定义: finally{}代码块中的代码是一定会执行的,一般用来关闭资源或者一些必须执行的代码,如数据库连接的关闭

  10. FastJSON、Gson和Jackson性能对比

    Java处理JSON数据有三个比较流行的类库FastJSON.Gson和Jackson.本文将测试这三个类库在JSON序列化和反序列化的方面表现,主要测试JSON序列化和反序列化的速度.为了防止由于内 ...