前言:该系列文章,围绕持续集成:Jenkins+Docker+K8S相关组件,实现自动化管理源码编译、打包、镜像构建、部署等操作;本篇文章主要描述Jenkins基础用法

一、Jenkins安装

1、环境部署

下载Jenkins包

注意这里直接下载war文件,以Java服务的形式启动。

  • 环境:war运行
  • 版本:2.289.3
  • 类型:Generic Java package (.war)

启动命令

java -jar jenkins.war --httpPort=8090

启动日志

Jenkins is fully up and running

访问本地端口:8090

该页面会提示初始登录密码的位置,查看该文件中初始密码,并完成登录。

/.jenkins/secrets/initialAdminPassword

安装推荐插件

登录之后先把推荐的插件装上。

创建用户

插件安装完成之后会提示创建用户。

账号:admin  密码:admin

这样初始化完成。

重新启动:restart

Jenkins_url/restart

2、配置与插件

基础配置

打开:Manage-Jenkins选项,配置Global-Tool-Configuration选项:

- 查看JDK安装目录
/usr/libexec/java_home -V- 查看Git安装目录
which git- 查看Maven安装目录
mvn -v

配置组件:JDK、Git、Maven,采用开发环境的组件版本;

插件安装

安装如下插件:

1、Maven插件
Maven Integration plugin2、Pipeline插件
Pipeline Utility Steps

二、本地Git打包

简介:基于Jenkins完成本地的Git仓库项目打包;

1、新建Item

  • 任务名称:MavLoc,处理本地maven工程;
  • 任务类型:选择构建maven项目;

2、构建记录管理

保持构建的天数:3天,保持构建的最大个数:10个;

3、构建过程

前置Pre-Steps步骤,这里执行一次maven版本查看:

构建Build步骤,这里直接写项目的pom路径,注意执行的maven命令:

clean package -Dmaven.test.skip=true

后置Post Steps步骤,注意选择构建成功后才执行,自行忽略这里shell语法的不入流组合:

#!/bin/bashBUILD_ID=dontKillMe# 定义目录
AUTO_PATH=/项目路径/butte-auto-parent/# 移动Jar包
cd $AUTO_PATH/auto-client/target/
pwd
mv auto-client-1.0-SNAPSHOT.jar $AUTO_PATHcd $AUTO_PATH/auto-serve/target/
pwd
mv auto-serve-1.0-SNAPSHOT.jar $AUTO_PATH# 启动服务
cd $AUTO_PATHnohup java -jar auto-client-1.0-SNAPSHOT.jar &
echo "run auto-client ..."sleep 20snohup java -jar auto-serve-1.0-SNAPSHOT.jar &
echo "run auto-serve ..."

4、执行构建

上述配置完成后,打开任务页面,执行如下操作:

  • Build Now:执行上面的构建任务;
  • 构建 #ID:查看控制台输出的日志;

这样就可以通过jenkins完成本地项目的打包和启动了。

三、API触发任务

1、用户令牌

简介:通过配置用户API访问的token令牌,脱离jenkins控制台,直接触发构建任务;

进入用户面板的设置选项,配置API Token:

注意这里生成令牌后要立刻复制下来,页面会提示token无法复现。

2、任务令牌

任务配置的构建触发器模块,设置远程构建的令牌:

上面已经给到token的使用方式。

3、脚本触发

通过如下方式,直接触发上述构建任务的流程:

curl http://用户:令牌@Jenkins_Url/job/MavLoc/build?token=任务令牌

这里通过脚本直接请求URL的方式触发流程。

四、打包Git项目

1、配置仓库

创建MavGit任务,这里不做过多的配置,与本地仓库相比,只是把仓库地址换成Gitee地址,只配置仓库url和分支即可,其他采用默认:

因为是开放的仓库地址,所以不用配置账号密码,默认指定master分支,然后执行build构建。

2、查看空间

上面流程执行完后,查看MavGit的工作空间:/.jenkins/workspace/MavGit

这里可以明显发现,仓库的代码已经被pull下来,并且完成了自动打包流程,后续结合shell脚本完成jar启动管理即可。

同系列文章:┃ 服务部署发布 ┃ 灰度模式 ┃ 自动化流程 ┃ 消息中间件改造 ┃ 微服务组件二次浅封装 ┃

五、源代码地址

GitEE·地址
https://gitee.com/cicadasmile/butte-auto-parent
Wiki·地址
https://gitee.com/cicadasmile/butte-java-note/wikis

自动化集成:Jenkins管理工具详解相关推荐

  1. websocket接口自动化集成pytest测试框架详解

    目录 websocket协议 1.介绍 2.原理 3.与http协议的比较 4.websocket应用场景 自动化测试资源分享 websocket协议 1.介绍 WebSocket是一种在单个TCP通 ...

  2. 鱼骨图分析法实际案例_【管理工具详解】鱼骨图分析法

    第一部分 鱼骨头分析法 一.鱼骨图分析法的由来 鱼骨图是由日本管理大师石川馨先生所发明出来的,故又名石川图.鱼骨图是一种发现问题"根本原因"的方法,它也可以称之为"Ish ...

  3. AD维护管理工具详解(一)dcdiag

    https://blog.51cto.com/wuxiaohui/414430 工具名称:DcDiag 工具出处:MS Support Tools 工具类型:命令行工具 当前环境:Win2003 SP ...

  4. [Node] Node.js 包管理工具详解npm yarn cnpm npx pnpm

  5. 大型企业中如何批量管理千万台服务器之ansible自动化运维工具详解 [⭐建议收藏⭐]

    文章目录 ansible 自动化运维工具 详解 关于作者 作者介绍 一.ansible 概述 1.1 ansible 概述 1.2 是什么要使用 ansible 1.3 ansible 功能 1.4 ...

  6. parted工具详解

    通常我们用的比较多的一般都是fdisk工具来进行分区,但是现在由于磁盘越来越廉价,而且磁盘空间越来越大:而fdisk工具他对分区是有大小限制的,它只能划分小于2T的磁盘.但是现在的磁盘空间很多都已经是 ...

  7. python数值转换机_用于ETL的Python数据转换工具详解

    ETL的考虑 做 数据仓库系统,ETL是关键的一环.说大了,ETL是数据整合解决方案,说小了,就是倒数据的工具.回忆一下工作这么些年来,处理数据迁移.转换的工作倒 还真的不少.但是那些工作基本上是一次 ...

  8. valgrind和Kcachegrind性能分析工具详解

    作者: zhuyong 原文地址 一.valgrind介绍 valgrind是运行在Linux上的一套基于仿真技术的程序调试和分析工具,用于构建动态分析工具的装备性框架.它包括一个工具集,每个工具执行 ...

  9. Linux性能分析工具详解

    Linux性能分析工具详解 一.tcpdump 常用用法: 这里用sudo因为当前帐号无权使用tcpdump,这里仅以一个tcp的例子来说明:sudo /usr/sbin/tcpdump tcp po ...

最新文章

  1. 掌握哪些机器学习工具更受企业青睐?
  2. 让Transformer的推理速度提高4.5倍,这个小trick还能给你省十几万
  3. 博客园----你真的没有没落.感恩博客园。。。
  4. tcp/ip协议包含哪几层_TCP/IP协议的简单介绍
  5. 幻读(phantom read)
  6. 调用咏南中间件插件演示
  7. 如何让CloudStack使用KVM创建Windows实例成功识别并挂载数据盘
  8. python 代码命令大全-用什么库写 Python 命令行程序(示例代码详解)
  9. 动态新增表字段_国际法规 | 欧盟POPs法规更新新增三氯杀螨醇、修订PFOS的豁免——北测集团...
  10. repair table accessright
  11. 移动的宽带修改电信的服务器地址,移动宽带无法登录的解决方法(修改dns让移动等宽带更快--移动宽带的资费享受电信般的快感)...
  12. 《操作系统真象还原》——0.25 指令集、体系结构、微架构、编程语言
  13. 纯CSS+HTML+JS实现的简易个人网站
  14. 7 客户端认证方式 之 client_secret_jwt
  15. 16天记住7000考研单词(第一天)
  16. 清晨思语------管理谚语
  17. IIS网站部署步骤(通过域名访问)
  18. 视频播放器的html代码(二)
  19. Github安卓流行布局开源库
  20. 基于Arduino的视觉暂留现象和频闪效应演示系统程序设计

热门文章

  1. python编写计算器输入1或2代表+或x_Python实现两款计算器功能示例
  2. 计组之指令系统:1、指令系统概述(定义、分类、格式、扩展操作码指令格式)
  3. 计组之数据运算:7、定点数原码除法运算(恢复余数法、加减交替法)
  4. (数据库系统概论|王珊)第七章数据库设计:习题
  5. (数据库系统概论|王珊)第九章关系查询处理和关系优化-第三节:查询优化之代数优化
  6. (王道408考研数据结构)第六章图-第四节3:最短路径之BFS算法(思想、代码、演示、答题规范)
  7. qt设置路径为应用程序启动路径
  8. VC++中实现INI文件读写的方法和示例
  9. ‘map’ does not name a type
  10. C/C++: OpenSSL实现https GET POST请求