Jenkins Pipeline项目无法在windows子节点中执行cmd命令
最近遇到了一个非常特别的issue,测试的pipeline项目脚本如下 执行输出的时候, AAA可以正常显示, BBB却总是不显示,但是也不报错 于是, 我做了以下测试 (我的主节点为 windows, 子节点也为 windows)

105 篇学习记录,按技术领域整理
最近遇到了一个非常特别的issue,测试的pipeline项目脚本如下 执行输出的时候, AAA可以正常显示, BBB却总是不显示,但是也不报错 于是, 我做了以下测试 (我的主节点为 windows, 子节点也为 windows)

Jenkins升级至最新版本后从服务里启动失败 结论 - Jenkins版本不对, 需要重新选择版本, 在 jenkins.war下载列表尝试哪个版本的启动正常 https://get.jenkins.

SSH客户端设置 安装openssh-clien 生成私钥 SSH服务器设置 安装openssh-server 新建公钥认证文件,复制公钥内容 修改sshd\config配置文件,禁止密码登录,允许公钥私钥登录,重启服务

平常工作中经常和Jenkins打交道,所以就想着考个相关的证书,我考的是 Certified Jenkins Engineer (CJE) ,报名的网站在这里 https://www.cloudbees.

我们写在Jenkinsfile中写脚本的模式是, 先在IDE中验证脚本, 然后复制代码至Jenkinsfile, 关于在 IntelliJ IDEA 中写Groovy脚本参考这篇文章IntelliJ IDEA配置Groovy教程

写这篇文章的起因是因为经常性的需要更新Jenkins脚本,而Jenkins脚本是用Groovy写的, 所以不可避免的会用到Groovy,这里简单记录下自己调试Groovy脚本的过程

文章有些长,可以先直接到最后一步四、Jenkins + Docker集成方式对比总结 看对比总结 对于Jenkins,有3种方式可以把Docker集成到Pipeline中(括号的方式是我自己起的,只是一个称号,不那么标准不要介意)

原理如下, Jenkins通过ip连接ubuntu,ubuntu使用SSH验证连接,另外Jenkins通过java在Ubuntu上相应操作控制该代理节点,所以关键点在于

SSH访问的原理很简单,如图所示。被访问的机器称作Server,访问的机器称作Client,Client通过ip连接至Server,Server需要验证Client的私钥,若认证成功则可以访问,否则不能访问。最重要的两点是

下载安装 Git 默认ssh密钥 使用 ssh-keygen命令生成公钥和私钥,在.ssh目录(例如 C:\Users\chao9441\.ssh)自动生成两个文件

YAML 是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用。 YAML 的语法比较简洁直观,特点是使用空格来表达层次结构,其最大优势在于数据结构方面的表达,所以 YAML 更多应用于编写配置文件,其文件一般以 .
工作中难免会用到虚拟机,之前都是使用VMware Workstation软件, 但是存在以下缺点 收费, 虽然网上很多密钥可以用,但还是有一定限制 笨重,启动慢运行时内存消耗大 不能完美全屏显示虚拟机

Nexus Repository Manager是什么 Nexus是一个存储库管理器。它使您能够代理,收集和管理依赖项,以免您不断处理一系列JAR。它使分发软件变得容易。

我们知道在Visual Studio上不能同时构建两个App, 即MSBuild不能复用,那么如何实现MSBuild同时构建多个App呢?

关于书籍推荐,我一向不建议阅读国人的书籍,有可能是因为应试教育的原因,在原理理解和阅读性方面往往没有国外专家写的透彻,当然不排除一些例外

全局变量分为两种,一种是系统全局变量, 一种是Jenkins全局变量 系统全局变量,也就是我们电脑上定义变量和Jenkins Java内置的一些变量, 在Pipeline脚本中查看

Webhook是什么,这里引用Github官方的描述 Webhooks - Events - Ping Event Webhooks允许您构建或设置集成,例如GitHub Apps或OAuth Apps,这些集成订阅了GitHub.

在一次更换密码的过程中,意外的丢失了大多数Jenkins项目,导致一个个配置很麻烦,虽然已经使用的SCM Pipeline的方式简化了配置模式, 但手动的配置还是让我花费1个小时才完成所有项目的恢复,所以备份真的很重要

在Jenkins上增加 Linux 系统(Mac,Ubantu)的子节点比较容易,可以参考我的这篇文章【增加Mac子节点】,而增加 Windows 子节点就有些麻烦,不过尝试很多次之后总算成功了,这里写下配置的过程💪

为方便编辑和调试脚本, IDE建议选择 IntelliJ IDEA, 社区版够用。安装完IDE后,还需安装groovy sdk, http://groovy-lang.org/download.

由于平台的限制, iOS应用只能在 Mac电脑 上编译. 为方便维护, Windows上的Jenkins为主节点, Mac上的Jenkins为子节点, 统一在主节点上管理, 示意图如下 所以关键点在于ssh密钥的设置与分配

在编写Jenkinsfile时候,经常由于代码格式不正确而导致项目编译失败,而Jenkins并没有提供很好的解决方法,大部分的时候只能现在一个临时项目里检查代码是否错误,然后再提交Jenkinsfile到脚本仓库,中间的过程过于繁琐😡,实在

在默认的情况下,一旦设置了新的环境变量,那么这个环境变量在整个Pipeline生命周期里都不会改变,但是有时我们需要在Stage阶段临时修改变量值,传递给其他命令使用,那么如何实现呢?
为方便测试,将测试机器上的文件夹共享,结果有时Jenkins Build的时候无法访问文件夹,出现如下错误 共享文件夹的权限设置为 Sharing → Andvanced Sharing → Permissions → Add… 添加新用户

环境变量包括 系统环境变量 和自定义环境变量 系统环境变量 就是Jenkins自带的变量,他的使用范围是全局,如 BUILD\NUMBER,BUILD\URL等,使用格式为
一个项目完整Build时间过长,如果想从某个阶段运行脚本,该如何实现 解决方案 选择 Build Number ,从指定阶段重新运行,并设置需要指定的某个步骤

Jenkins的警告类型分为两种 系统警告 : 一般提醒用户有新版本Jenkins可升级 插件警告 :插件升级或安全警告

我司的PE有这样一个需求:编译C项目不同分支时,首先需要参数化选择要Build的分支,传递BranchName,Git下载编译该分支项目,最后把编译好的输出文件复制到远程服务器上,并且父目录名称也是分支名称,这样易于辨认。

项目无缘无故的总是自动重复Build,但是并没有设置其他触发条件 解决方案 经过艰难的调试,发现是Git Pull源码引起的锅。
经常忘,还是做个总结吧

在使用Jenkins配置项目的时候,有时会遇到要使用外部依赖文件的情况,比如我要复制某个本地文件或要用到某个外部程序做什么,但是这些外部依赖都是本机文件或程序,一旦位置改变就会导致项目Build失败。

在我们使用vstext.console运行单元测试命令,加入/logger参数 关于/logger参数 /logger:trx 为固定写法 ;LogFileName=TestResult38.trx 为输出的文件名,不能修改文件路径

在Jenkins里面使用 Window batch command 从远程服务器复制文件到另一个服务器时,发生错误 Invalid drive specification
要完成参数化选择Git分支,并Pull分支代码需要以下Jenkins插件 参数化构建插件: Parameterized Build Git插件:Git

前段时间手滑不小心点错Jenkins登录设置,结果再怎么也登不进去。这里汇总网上资料,最终解决了该问题。 登录时候输入正确的用户名和密码,弹出如下错误信息

Jenkins自带的图标样式不太美观,我们可以自己定义主题使其变得美观 转到主题制作网站 jenkins-material-theme

1\. Jenkin安装插件 2\. 配置插件 GitHub Server API Credentials, 注意,如果后续你的密码更改了。这里的密码也要同步更改,否则项目无法运行

Jenkins时间表使用的UNIX知名的Cron语法 Cron语法包括以空格分隔的五个字段,示意如下: 值的范围表示方法