![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Jenkins
文章平均质量分 62
Jenkins相关文章
东北小狐狸-Hellxz
Java全栈开发/DevOps/Python
展开
-
【简记】Groovy/Jenkins脚本中urlencode与urldecode
【代码】【简记】Groovy/Jenkins脚本中urlencode与urldecode。原创 2024-04-16 16:59:55 · 148 阅读 · 0 评论 -
【简记】Gradle 发布到nexus仓库提示 Return code is: 405, ReasonPhrase: HTTP method PUT is not supported by this
问题现象FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':common-base:uploadArchives'.> Could not publish configuration 'archives' > Failed to deploy artifacts: Could not transfer artifact com.xx.ent.base:commo原创 2022-04-06 16:04:50 · 1261 阅读 · 0 评论 -
Gradle 6.x及以上发布仓库去除sha256、sha512 CheckSum文件
写在前边今天写的这个博客和平时的博客有点区别,大多数都是告诉你解决问题的,而本文不完全是。经常使用Gradle的都知道 Gradle有两个发布制品到Maven仓库的插件:maven 与 maven-publish,其中 maven 插件是比较老的插件,而新版本是 maven-publish,官方文档推荐使用 maven-publish 插件。接下来说问题Gradle 6.x 及以上使用 旧版的 maven 插件,通过 gradle uploadArchives 发布的制品在仓库里如图:使用 ma原创 2022-03-28 09:27:08 · 1194 阅读 · 0 评论 -
Jenkins教程(八)实现 GitLab 触发 Jenkins 自动按模块发布前端
楔子上篇文章解决了提交/合并请求自动触发的需求,但所有前端模块都在同一个代码仓库里,如何获取变更文件路径确定要发布哪个模块呢?本文将带你解决这个问题。思路分别解决 3 个问题:获取变更的文件列表根据文件列表判断所属模块构建与发布脚本过程GitLab 事件触发 Jenkins 构建只是一个启动信号,获取变更文件列表需要知晓上一次构建时某个仓库的版本号,这里 Jenkins 的插件 git-plugin 已经帮我们实现了这部分工作。所以只需要通过 git-plugin 检出代码即可。检出代原创 2021-09-18 19:41:51 · 659 阅读 · 0 评论 -
Jenkins教程(七)实现 GitLab 提交/合并代码触发构建
楔子最近公司推行统一构建平台(基于 Jenkins + Kubernetes 插件创建 slave),原来部门自建的 Jenkins 不让用了。迁移上统一构建平台的最大阻力是前端模块发布的问题:前端单仓库全量构建/发布,安装依赖有缓存在小型机上跑着效率还行,如果迁到公司平台上性能相对低些,又没依赖缓存,构建一次需要拉下约 15G 的依赖!迭代分支仅允许合并分支,通过 GitLab API 取不到 Merge Request 变更文件列表。基于这个问题,研究了一下午 GitLab Plugin原创 2021-09-18 14:58:15 · 4021 阅读 · 6 评论 -
Jenkins教程(六)脚本与方法执行效果不合预期,如何及时中止pipeline
场景使用Jenkins的流水线时,有时明明某些Python或Shell执行结果错误,但仍会继续运行下去,甚至于最终提示成功。这并不合我们的预期——出现错误及时停止。当然,还有那种小错误不影响构建的,希望继续执行下去的情况。所以,场景有两个:希望发现错误,及时中止执行的情况。希望错误发生时,脚本仍继续执行的情况。本文以上两种场景分别给出示例。本文不考虑能被pipeline捕获的异常中断。及时中止,如何做?1、对于Jenkins流水线中,使用groovy语法实现的功能,可以考虑使用Jav原创 2021-03-22 17:23:57 · 2634 阅读 · 3 评论 -
Jenkins教程(五)构建Java服务Docker镜像
本文主旨主要记录下如何使用Jenkins构建Java服务的Docker镜像,以及手动部署测试下前期准备已安装Jenkins为jenkins用户添加到docker组内本地装有maven,配置或使用/etc/profile定义maven的家目录,全局生效正文新建个chapter3流水线工程添加Jenkinsfile的git配置,这里使用的是https://github....原创 2019-09-16 17:14:00 · 143 阅读 · 0 评论 -
Jenkins教程(四)安装BlueOcean与Maven构建
前言本文旨在使用BlueOcean实现构建可视化与使用Maven构建上一节Jenkins教程(三)添加凭据与流水线拉取Git代码拉下来的代码什么是Blue OceanBlue Ocean 重新思考Jenkins的用户体验,从头开始设计Jenkins Pipeline, 但仍然与自由式作业兼容,Blue Ocean减少了混乱而且进一步明确了团队中每个成员 Blue Ocean 的主要...原创 2019-09-02 10:14:00 · 260 阅读 · 0 评论 -
Jenkins教程(三)添加凭据与流水线拉取Git代码
前言本文旨在配置凭据、使用Git仓库中的Jenkinsfile与使用声明式流水线拉取Git代码使用SVN等其他版本控制工具,请参考使用Pipeline-Syntax生成对应代码块凭据(credentials)是什么凭据(credentials)是访问其他系统的认证信息,可以是账号/密码、SSH密钥、加密文件等,Jenkins可以通过设置的凭据与其它第三方应用进行认证,在可信与...原创 2019-09-01 23:24:00 · 1739 阅读 · 0 评论 -
Jenkins教程(二)声明式流水线HelloWorld
前言本文通过一个声明式流水线的HelloWorld程序做一下流水线基础入门,对常用的流水线参数进行简要说明什么是流水线现实中的流水线流水线比较好理解,类比于现实生活中的生产流水线,每个流程只做一件事,通过传送带把这些流程连接在一起,一个流程完成后的结果交由后续流程继续操作。Jenkins的流水线简单认知Jenkins的流水线也是这样工作的,最简单的认知是它可以把若干可通用的S...原创 2019-08-31 14:10:00 · 277 阅读 · 0 评论 -
Jenkins教程(一)安装Jenkins
前言写了好久Jenkins的脚本了,写得虽然不是太好,但是可以基本满足需要,最近比较忙,这个月也没怎么更新博客,开始更新Jenkins这个系列的文章,打算从安装Jenkins -> 流水线工程HelloWorld->声明式流水线语法 -> 流水线构建微服务镜像并部署 ,大体上会分这几部分,还是会有些拆分的部分提出来,这里就简单开始记一记本文使用war包形式部署Jen...原创 2019-08-29 14:49:00 · 1370 阅读 · 0 评论 -
使用Gradle生成BOM管理依赖版本
写在前边自Gradle 5开始添加了Maven中 BOM 的支持,然而Gradle 6 以前,想使用BOM 需要使用 Maven 定义 pom.xml 并作为 pom 发布,才行。参考了 《Gradle 实战》一书,查遍此书并没有通过Gradle生成BOM的方式;查阅 StackOverFlow 发现了一些复杂的实现方式。好在 Gradle 6 开始,官方提供了一个插件 java-platform 支持生成 BOM,并可以发布,本文就带大家作一个demo 以学习此插件的使用。什么是 BOM?BOM原创 2021-02-07 21:20:41 · 3634 阅读 · 0 评论 -
CI环境:一行命令登录npm仓库
写在前边简单介绍下:如何在Jenkins等CI环境中使用Npm访问需要认证的仓库。使用 npm login 交互式的输入用户名、密码、邮箱的方式不适合CI环境,使用延迟输入、管道重定向、expect 命令等方式,需要对安装软件或者在仓库响应慢的情况下,也容易登录失败。本文将带你使用 authToken 的方式,一行命令直接登录指定npm仓库。获取authTokenauthToken 是 npm 用户登陆仓库时,由npm仓库生成返回给客户端,记录到客户端的 ~/.npmrc 中首先,设置 npm原创 2021-02-07 14:13:52 · 5641 阅读 · 4 评论 -
Git操作:多个commit合并,并修改提交信息
写在前边写这篇文章主要是记录下,很久之前读《重构-改善既有代码的设计》时,看到过作者讲过Git可以实现多个细碎操作commit合并为一个有意义的提交,当时查过一些中文信息,写得不是很清晰。正巧有一个Git管理的脚本仓库需要大量修改,尝试践行下书中的内容:完成一小部分功能就作一次本地commit,直到完成修改后,合并成一个有意义的提交。这样做是有意义的,每一次小小的commit保证了工作进度不会因频繁的检查而效率低下(每一次提交之前仔细检查,提交后就无需再重复检查了,也有助于提升重构者的信心)。实验原创 2021-01-22 15:52:56 · 5078 阅读 · 0 评论 -
Jenkins安装插件提速
本文主旨看到好多加速Jenkins安装插件速度的文章,大多数教程中都是在插件配置里使用https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json替换原来的官方的json,我们来看看清华源拉下来的是什么 这里使用官方的下载插件的url全局搜索这里我们发现,每个插件下载路径依旧没有改变,变的只是这个...原创 2019-08-29 11:31:00 · 142 阅读 · 0 评论 -
查看当前gradle项目中指定依赖模块被哪些jar包依赖
简记:查看当前gradle项目中指定依赖模块被哪些jar包依赖gradle :dependencyInsight --dependency <依赖名> --configuration compile原创 2020-04-03 15:41:00 · 847 阅读 · 0 评论 -
【Jenkins系列教程】流水线通过SSH方式操作Git仓库
主旨实践 Jenkins 流水线使用SSH方式操作 Git 仓库,包含基于 SSH 私钥认证的服务器准备需要提前安装 SSH Agent Plugin,可以通过 Manage Jenkins-> Manage Plugins-> Installed 使用 filter 搜索查看是否安装,如没有则通过 Available处搜索安装使用本地生成ssh key或使用已有...原创 2020-05-27 17:17:00 · 853 阅读 · 0 评论 -
【Gradle教程】Gradle 基础入门
00.简介Gradle 是一种开源自动化构建工具,支持多语言环境,受 Ant、Maven 思想的影响,集二者之大成,相比 Ant 的不规范,Maven 的配置复杂、生命周期限制严重,Gradle 既规范也更灵活,可以使用DSL (领域特定语言,如Groovy 或 Kotlin)编写构建脚本,脚本更短小精悍它的特性有:高度定制化:模块化可扩展,更灵活构建迅速:支持并行构建,自动复...原创 2020-05-30 17:24:00 · 210 阅读 · 1 评论 -
害你加班的bug就是我写的,记一次升级Jenkins插件引发的加班
主旨本文主要记录了下Jenkins升级插件过程中出现的场景,一次加班经历,事发时没有截图,有兴趣可以看看。起因需求最近有个需求:在Jenkins流水线中完成下载Git上的文件简单修改并提交的功能起初找到了相关的插件用法,即使用 SSH Agent Plugin 来完成这个功能插件不生效经测试无法完成效果,分别怀疑了以下几点:凭据配置有误写错了脚本当前未安装此插件当...原创 2020-05-27 12:26:00 · 1291 阅读 · 0 评论 -
构建一个属于自己的Jenkins镜像
本文目标不使用Jenkins官方提供的镜像,从最简系统镜像搭建一个最新稳定版的Jenkins镜像,自定义镜像内有的工具如jdk、gradle、node等,使用Dockfile与Shell脚本搭建而成自定义的原因是官方镜像不能满足我们对于镜像内部工具的需求本文面向面向对象???? ——本文面向有定制Jenkins镜像需求的小白兔,大神请轻喷~环境说明操作系统:Centos 7Doc...原创 2019-12-27 19:26:00 · 627 阅读 · 0 评论 -
调用gitlab API提示{"error":"ref is missing, ref is empty"},解决办法
问题复现官方给的写法,以创建远程分支举例curl --request POST --header "PRIVATE-TOKEN: ${私钥}" ${gitlab地址}/api/v4/projects/${目录名}%2F${仓库名}/repository/branches?branch=${新分支名}&ref=${来源分支}返回错误信息{"error":"ref is mi...原创 2019-12-24 19:40:00 · 627 阅读 · 0 评论 -
Jenkins流水线获取提交日志
写在前之前使用Jenkins pipeline的时候发现拿不到日志,使用multiple scms插件对应是日志变量获取日志的方式失效了,但是查看流水线Pipeline Syntax发现checkout竟然有包含提交日志的选项,这里一定有办法获取到日志,苦于之前时间紧任务重,就先当它不能获取日志????最近在搞点东西,顺便想到了点关键词终于google到了,没看到其它博客里有写,就记录一...原创 2019-11-06 18:29:00 · 1827 阅读 · 0 评论