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. 「破解」Xposed强

    「破解」Xposed强 Hook Hook Hook! 两张图片,第一张是我的微信截图,第二张是我从微信Hook出的一些类名. 一段代码,Hook这些类名出来的源码. 知道这些我们能干嘛,当然是分析( ...

  2. OneAPM大讲堂 | 提高JavaScript性能的30个技巧

    文章系国内领先的 ITOM 管理平台供应商 OneAPM 编译呈现. 您是网站管理员还是网页开发人员?想创建超快速的网站吗? 今天我们来看看 JavaScript,这项神奇而又复杂的技术.它使网站内容 ...

  3. eclipse maven web

    在eclipse中用maven创建web项目. 环境配置 C:\Users\xxx>java -versionjava version "1.8.0_121"Java(TM) ...

  4. hive笔记:转义字符的使用

    hive中的转义符 Hadoop和Hive都是用UTF-8编码的,所以, 所有中文必须是UTF-8编码, 才能正常使用 备注:中文数据load到表里面, 如果字符集不同,很有可能全是乱码需要做转码的, ...

  5. memory 监控 mysql vs percona vs maria

    oracle mysql 5.7 在performance_schema 通过以下表展现内存信息.这些表实际engine为performance_schema.这些表数据实际是以数组的形式存储在内存中 ...

  6. iOS 键盘上方增加工具栏

    UIToolbar *keyboardDoneButtonView = [[UIToolbar alloc] init]; [keyboardDoneButtonView sizeToFit]; UI ...

  7. 2. svg学习笔记-svg中的坐标系统和viewbox

    我是通过<SVG精髓>这本书学习的svg,说实话,这本书写的不好,或者说翻译的不好,我没有看过这本书的原版,不知道原文写的怎么样,但是翻译出来的有些句子真的很拗口.以前老师给我们API文档 ...

  8. SpringDataJpa的批量 保存 修改 操作

    SpringDataJpa进行修改数据库操作有两种方式: 一.调用保存实体的方法 1.保存一个实体:repository.save(T entity) 2.保存多个实体:repository.save ...

  9. sci-hub免费下载论文

    作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ sci-hub网址: https://gfsoso.99lb.net/sci-hub.html 免费下载 ...

  10. Go学习笔记05-指针

    目录 参数传递 var a int = 2 var pa *int = &a *pa = 3 fmt.Println(a) Go语言中 指针不能运算 参数传递 不像C++.Java.Pytho ...