一、Jenkins基础jenkins是一款非常优秀的CI工具。但是我们如何去安装jenkins?这里我们学习一下。首先是下载,您可以下载您需要的环境的版本。因为jenkins是java编写的,所以我们直接下载war包的形式比较好。https://www.jenkins.io/download/

启动jenkins

java -jar jenkins.war

在浏览器中输入localhost:8080/,在弹出的页面中会让你输入安装的密码,之后进入安装页面。因为jenkins有很多插件,如果没有插件那么jenkins什么事都干不了。所以安装插件很重要,如果是离线安装,比如在测试服务器上安装。您可以直接跳过,如果需要安装插件,您就需要去下载,然后再插件的高级选项卡中,然后提交插件。但这么干的效果不是很好,因为一个插件有其他的依赖,而且插件的版本还要控制好。作者在离线安装就已经特别的痛苦了。所以这里主要写一下,在线安装,后期再研究离线安装的方法。我们选择默认推荐的插件,这些插件包括我们基本常用的组件。这些组件基本可以满足我们的使用。

但是在开发中,我个人比较喜欢使用事件去触发,比如当我将代码提交gitea、gitlab的时候就发送一个请求到jenkins,然后jenkins进行打包并发布。所以我还喜欢安装generic webhook trigger plugin这个组件。除此之外,我之前看到一些架构师喜欢装buil monitor view,该组件提供了对在构建的项目的监控功能,如果构建成功则显示蓝色,否则标记为红色。

安装好这些插件之后,我们在对jenkins进行一些配置,我们说过jenkins是java编写的,所以jenkins的配置肯定离不了jdk,当然对于当下maven和git的配置也不可或缺。这些都是当下java项目的必备。

在全局工具中配置一些基础的环境,mavn、jdk、git等

安装好之后,你也可以新建用户

或者开启用户自动注册的功能

您可以像我一样,先创建一个流水线项目,然后将该项目添加到build monitor plugin的视图中。

这样,项目开发人员就可以通过监控大屏的视图来看到项目发布是否健康的状态。

至此,jenkins的安装就已经完毕了。在线安装就是这么简单。


二、Jenkins流水线接下来,我们主要实现一个流水线,在之前的jenkins老版本中,需要手动配置好多,填写好多属性。在jenkins2.x中,jenkins提供了jenkinsfile,使得我们可以直接像写代码一样在jenkinsfile中加入逻辑去设计我们的流水线。这个特性就非常好了。那么我们怎么实现一个简单的流水线?我们的期望是通过代码提交来触发jenkins自动构建。首先我们要明确的是我们的项目是git仓库中,所以需要在jenkins中配置项目的地址。对于pipline代码的文件名称,我们采用默认的jenkinsfile。

然后我们我们的项目中添加jenkins流水线的代码文件Jenkinsfile,该文件与pom.xml平齐。下边贴一点流水线脚本,如果要详细的学习,您可以上jenkins中文网站。

pipeline {    agent any    triggers{      GenericTrigger(      token:'app-server'      )    }    stages {        stage('Build') {            steps {                echo '1.start build.....'                bat 'mvn clean -Dmaven.test.skip=true package'                echo 'end build'                bat 'cd target\n dir \n XCOPY *.war D:\\pipline-test /y'            }        }        stage('Test') {            steps {                echo 'Testing..'            }        }    }}

之后,我们点击立即构建,就会出现下面这样的场景,这说明jenkins已经按照我们的想法进行构建了。

通过上述代码的jenkinsfile的执行,我们的war包已经打出来并放到了D:pipline-test目录下:

至此,一个简易的jenkins流水线已经搭建完毕了。现在还有一个问题,我们如何让我们的jenkins在我们将代码提交的gitlab中的时候就触发构建的问题。除此之外还有远程免密文件复制和执行的代码。我们逐步来探索一下。


三、使用generic webhook trigger来触发jenkins构建要实现这样的一个构建,那么必须要一个发起的事件,我们push代码是因素,是要被gitlab或者gitea在或者是github来识别的。所以说git仓库平台是重点,当然jenkins识别这样一个请求(get、post等http请求),肯定格式已经写死了,所以我们只需要将jenkins的格式贴到git代码平台上即可。根据generic webhook trigger的规范,我们只需在token中填入我们在pipline流水线脚本中的token即可触发与该token相同的流水线进行构建活动。

那么我就去我们的gitlab平台,将这一串请求贴到相应的事件监听器中即可。注意这里的jenkins不再是127.0.0.1了哦,除非您所有的测试项目都在本地安装!

http://192.168.21.119:8080/generic-webhook-trigger/invoke?token=app-server

然后我们测试一下,果然发生了构建活动,此刻是否感到挺好玩的哈!


跨机器传输应用并部署,下期再说!

jenkins中文插件_Jenkins学习笔记(一)相关推荐

  1. 中文分词jieba学习笔记

    中文分词jieba学习笔记 一.分词模式 二.自定义词典 2.1 命令 2.2 使用方式 三.关键词抽取(基于TF-IDF算法) 3.1 用jieba.analyse.extract_tags() 3 ...

  2. [非卷积5D中文翻译及学习笔记] 神经辐射场 NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

    不使用3D建模,使用静态图片进行训练,用(非卷积)深度网络表示场景的5D连续体表示,再通过ray marching进行渲染. 本中文翻译使用"机器学习+人工校准/注解"的方式完成. ...

  3. Jenkins 持续集成 概念(学习笔记二十六)

    持续集成:提交.测试.构建.测试.部署 前不久接触了持续集成(Continuous Integration,CI). 一.持续集成是什么 首先说说"集成"的概念.在实际的软件开发中 ...

  4. (十九)jmeter3.0插件管理---学习笔记

    JMeter3.0_插件JMeter Plugins jemter plugins 一直以来,JMeter Plugins为我们提供了很多高价值的JMeter插件,比如: 用于服务器性能监视的Perf ...

  5. 使用python进行“中文词频分析”学习笔记

    首先什么是"词频分析"? 词频分析,就是对某一或某些给定的词语在某文件中出现的次数进行统计分析. 那么它能做哪些事情? 比如:分析你最喜欢的作者的表达习惯是怎样的? 判断一首诗是李 ...

  6. Unity插件EasyTouch学习笔记

    前言 EasyTouch是一款非常好用识别手机操作的插件,比如各种手势.摇杆等等,熟悉之后可以节约大量造轮子的时间. 我是在2019版本的Unity上进行测试的. 4.x用法 注意事项: 代码需要引用 ...

  7. vue 倒计时 插件_Vue学习笔记-倒计时插件

    安装 1.cnpm/npm npm install vue2-countdown --save 2.Git 下载源码 git clone https://github.com/cgygd/vue2-c ...

  8. 『麻省理工线性代数中文讲义』学习笔记

    1.矩阵 A 可以分解为 L(上三角矩阵).U(下三角矩阵,且对角线元素均为 1) 注:上三角矩阵的对角线左下方的系数全部为零,下三角矩阵的对角线右上方的系数全部为零 2.求解 L.U 矩阵 2.例子 ...

  9. PostgreSQL学习笔记(更新ing)+c# 使用ef连接数据库postgreSQL

    目录 PostgreSQL学习笔记 一.PostgreSQL创建.删除数据库(表).架构 1.创建数据库 CREATE DATABASE 2.查看数据库 3.删除数据库 4.创建表 5.删除表 6.架 ...

最新文章

  1. 大数据分布式集群搭建(9)
  2. 如何解决远程桌面无法连接问题--远程桌面连接工具
  3. 大数据读书笔记(2)-流式计算
  4. Python使用循环实现1-100的和
  5. 【转】ssh服务器启动和客户端常用操作
  6. C++ Boost库简介
  7. win7变成xp风格了怎么改回_XP退役了,如何把Win7变成XP风格
  8. python连接redis哨兵_python连接redis sentinel集群
  9. office deployment tool_工具 | 分享一个小利器,从此 Office 快速打开不是事
  10. linux for循环原理,linux for循环
  11. android studio2.3.6,Android Studio 2.3 问题汇总 - 解决一切障碍,为了更好的时代
  12. win10自带的打印机服务器,win10系统开启打印机服务的操作方法
  13. UI设计中的原型图用什么工具?怎么做?给谁看?
  14. 保镖机器人作文_保镖小学生作文
  15. 计算机中丢失msvcp120.dll是什么意思,win7系统玩游戏提示“msvcp120.dll丢失”怎么修复...
  16. 服务器inetpub是什么文件夹,inetpub是什么文件夹?Win10怎么删除c盘下的inetpub文件夹?...
  17. 学生成绩录入系统与查询
  18. 查询电话联系人(包括sim卡)
  19. 苹果将推出自助维修计划
  20. 中国1978-2008年GDP与M2关系的实证分析

热门文章

  1. keep-alive使用笔记
  2. IE浏览器中Image对象onload失效的解决办法
  3. 那朵美丽的格桑花,你是否依然绽放?
  4. mysql 游标的简单_mysql 简单游标
  5. app能不能跳转外部h5_轻羽微信小程序和H5的区别在哪里?主要有三点
  6. C语言课后习题(3)
  7. 详述Redo日志中操作系统块头信息损坏的处理过程
  8. 执行truncate引发ORA-02266的问题分析
  9. 没想到你是这样的Nginx!
  10. 教师节快乐:删了库之后,不要着急跑路