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

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

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

令人称奇的是,在《创世记》1章,上帝不仅工作,而且享受工作。“上帝看他所造的一切都很好。有晚上,有早晨;这是第六日。这样,天地万物都造齐了。”(创1:31,2:1)在上帝眼中,他一切所作之工全然美好。
财富的背景(为什么想富有,目标) → 对财富的认知(价值观与目标一致) → 对自身的审视(自信、规划、策略) 金钱的重要性是我们赋予的。如果你有财务问题,金钱就会变得尤为重要

开发python项目经常遇到的问题就是自己本机代码没有问题,而在其他机器上使用就有各种问题,归根到底有两方面因素: python版本不一致 依赖库不一致

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

数据库五个组成部分 数据库服务器 数据库 数据表 数据字段 数据行 SQL语句划分 DDL(Data Defintion Language),数据定义语句,用于定义不同的数据段、数据库、表、列、索引等,关键字包括create、drop、al

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

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

平常使用Jenkins构建项目时,默认使用MSbuild中没有带并发参数,所以比较慢 不带并发参数构建为 带并发参数, 只要有这个开关默认使用最大的并发数,当然你也可以指定CPU的数量

写这篇文章的起因是因为经常性的需要更新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的私钥,若认证成功则可以访问,否则不能访问。最重要的两点是

python安装sphinx 安装完毕后转到任意目录测试,例如这里在D:\Temp\blog目录,输入sphinx-quickstart,则会自动生成一些文件

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

YAML 是一种较为人性化的数据序列化语言,可以配合目前大多数编程语言使用。 YAML 的语法比较简洁直观,特点是使用空格来表达层次结构,其最大优势在于数据结构方面的表达,所以 YAML 更多应用于编写配置文件,其文件一般以 .
需求:需要从文本文件中读取Buildnumber 假设测试的 buildOK.txt中的内容为 读取文本所有内容,即1.13.3486需要用到以下For循环, 最后content的值为1.13.3486
需求是备份Daily Nuget Package,这样以后要用到时可以直接拷贝不用重新下载安装 这里使用需要新建一个C项目, 引用需要用到的包,例如这样 因为要用到每天最新的包, 所以要添加Nuget服务器和勾选 Include prere

工作中难免会用到虚拟机,之前都是使用VMware Workstation软件, 但是存在以下缺点 收费, 虽然网上很多密钥可以用,但还是有一定限制 笨重,启动慢运行时内存消耗大 不能完美全屏显示虚拟机

因为工作中发生过很严重的 Regression Issue,当时的解决方案是在Daily Build中使用二分法找到出问题的Build, 过程比较繁琐,所以就有了这么个需求,要求记录Daily Build的git changes信息

无论是用Appium还是Katalon Studio,都需要先使用命令行连接至启动的模拟器 先启动夜神模拟器 查看当前模拟器地址,这里要使用夜神自带的adb

读取文件 获取系统变量 获取当前时间 替换字符串
使用前需要安装以下依赖 使用方式 参数说明 currentdir: 当前目录,默认文件为高版本 standarddir: 标准目录,默认文件为低版本
使用 os.walk() 输出结果 为方便知道每次打印结果,加了个num计数,可以看到每次都可以获取当前目录下的文件,所以需要优化下
Nexus Repository Manager是什么 Nexus是一个存储库管理器。它使您能够代理,收集和管理依赖项,以免您不断处理一系列JAR。它使分发软件变得容易。

WPF引用图片资源的方式有很多种,分不同项目之间图片的引用、Xaml和代码的引用等,我们的测试项目如下,需要将两个项目中的logo.png属性中的 Build Action设为Resource

一向的建议,不要买国人写的区块链书籍,我读过很多本,都很一般(糟糕)! 相信比特币和其他代币的暴涨暴跌时刻拉动着人们的神经,究竟是什么样的技术有着这么大的魔力呢?币圈的疯狂的根源是什么呢?

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

刚刚读完这本书,总结回顾一下知识点 作者:Daniel Drescher 第1讲 理解分层的概念 系统分层 应用层与实现层 功能性与非功能性

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

做了大半年的自动化测试,无奈项目进度一直很慢😑。我采用的是Selenium、Appium这套开源框架,遇到的问题主要有:

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

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

在寻找控件的过程中经常会出现控件延时出现的情况,所以有时候需要等待一会直到控件出现才能执行下一步操作,这里有三种等待时间技巧
行为驱动开发(英语:Behavior-driven development,缩写BDD)是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。
作为一位QA Engineer,日常工作中见到太多因为书写格式不规范导致的沟通困难的案例,良好的书面语言也是工作能力的另外一种体现吧,这里分享一下自己在Github Issue中的一些书写格式的经验,其实也是一些常用Markdown语法的实

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

最近在学习Python, 需要用到自己定义的工具类模块,总结下来主要遇到两个问题 如何导入自定义模块 解决VS Code 警告Import [module] could not be resolved in Pylance 和实现包高亮与转

准备工作。配置PC的测试环境 开启Win10开发者模式 保持屏幕常亮,辅助工具 https://www.zhornsoftware.co.uk/caffeine/ 默认英文输入法

Accessibility 508定义可参考 https://dev-preview.cnblogs.com/ksfer/archive/2004/01/13/1643141.

发现Chrome设置里面由贵单位管理,有点郁闷,相信谁也不愿意自己的浏览器被监控吧😕,那么如何解决呢? 直接Google搜索, 按照这个办法来就可以解决 https://support.google.

资源管理器 File Explorer出现如下问题 可以从桌面我的电脑打开 无法使用快捷键 Win + E启动,提示错误Explorer.exe此文件没有与之关联的程序
在Jenkins上增加 Linux 系统(Mac,Ubantu)的子节点比较容易,可以参考我的这篇文章【增加Mac子节点】,而增加 Windows 子节点就有些麻烦,不过尝试很多次之后总算成功了,这里写下配置的过程💪

对于大多数控件而言,WinAppDriver都可以正确识别,但是有一些特殊的要求没法满足,我们需要尽量避开这些需求。比如说有这么一个Button, 点击它之后 就打开Toc, 所以每回点击它之前, 我需要判断Toc是否已经打,对此有两种解决

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

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

做桌面程序的自动化测试,难免会涉及到控件的等待,比如当点击一个Button时,要等待一个Window的出现,然后在该Window上操作其他控件。最简单粗暴的方式是使用Thread.
理想中的GUI测试报告应该有一系列按时间顺序的屏幕截图组成,并且这些截图上可以高亮地显示所操作的元素,同时按照执行顺序配有相关操作步骤的详细信息

健康无价,请珍惜自己的身体。亲身经历全记录。 08.09 DAY 1. 从18:00睡到21:30,发现外面大雨,担心女朋友回淋雨,准备去接女朋友回家。同时,此时左眼有些不舒服,但症状并不严重,只是轻微干涩。
一个页面(窗口)中默认的使用Tab键时,默认Focus元素的顺序是按xmal页面的控件的顺序 在代码中如果想调整某些控件的顺序,可以在代码中使用KeyboardNavigation.
在编写Jenkinsfile时候,经常由于代码格式不正确而导致项目编译失败,而Jenkins并没有提供很好的解决方法,大部分的时候只能现在一个临时项目里检查代码是否错误,然后再提交Jenkinsfile到脚本仓库,中间的过程过于繁琐😡,实在

踩得的坑多了,坑也就被踩平了🤷♂️ 发现一个非常非常非常奇葩的错误,只要我在批处理中加入路径分隔符\,就会自动给我在前面加一个空格 \,导致文件路径识别出错
几乎把中文所有C和SonarQube集成的资料看遍了,发现要么是别人用的测试框架和覆盖率框架不一样,要么就是解释的不够透彻,有些设置让人摸不着头脑,我觉得如果能把一件简单的事情说清楚也是很了不起的事情,这需要建立在自己有良好的阅读能力和理解

网上看了一些SonarQube的教程,感觉还是太繁琐😠,这里重新梳理下学习过程。其实从安装配置来说现在最新SonarQube可以不需要连接数据库,直接用默认的数据库就可以,这样降低了学习成本,可以很快速地熟悉软件的基本使用

MSBuild提供日志记录功能,用来记录编译过程中的各种信息,关于MSBuild日志记录可参考MS官方文档 使用MSBuild获取构建日志

【读书笔记】Jenkins 2.x实践指南

先把实现的代码放上来,再详聊遇到的问题。代码地址:https://github.com/gis2all/csharp-scripts/tree/master/Scripts

在默认的情况下,一旦设置了新的环境变量,那么这个环境变量在整个Pipeline生命周期里都不会改变,但是有时我们需要在Stage阶段临时修改变量值,传递给其他命令使用,那么如何实现呢?
迁移到ANT的原因是最近公司的VM在更新,很多测试数据的路径改变,导致测试失败。如果在测试代码和测试及脚本中手动更改新的路径,无疑是一项相当繁杂的工作,而ANT可以为我们减少路径更改时的烦恼

为方便测试,将测试机器上的文件夹共享,结果有时Jenkins Build的时候无法访问文件夹,出现如下错误 共享文件夹的权限设置为 Sharing → Andvanced Sharing → Permissions → Add… 添加新用户

环境变量包括 系统环境变量 和自定义环境变量 系统环境变量 就是Jenkins自带的变量,他的使用范围是全局,如 BUILD\NUMBER,BUILD\URL等,使用格式为
| 命令 | 功能 | | :-- | :-- | | shell input text | 输入文本 | | shell rm | 移除文件 | | shell rmdir | 移除文件夹 | | shell pm clear | 清除安
| 平台 | 自动化测试框架 | 单元测试框架 | | :-- | :-- | :-- | | Android | Appium | MSTest |

其实对于自动化测试而言,脚本的编写其实不算太难,难点是如何找到我们想要的控件元素,而Appium Desktop检查器完美解决了这个难题

使用Visual Studio 2019自带的Android Devices Manager设备管理器来管理模拟设备,由于x86的处理器在Windows上的速度更快,所以建议虚拟设备使用x86处理器,内存的话一般大于6GB就比较流畅。

一个项目完整Build时间过长,如果想从某个阶段运行脚本,该如何实现 解决方案 选择 Build Number ,从指定阶段重新运行,并设置需要指定的某个步骤

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

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

解决方案 添加新变量,值为.Net SDK目录,设置成程序中使用的版本的对应目录,这样设置后,当MSBuild.exe编译.Net Core项目时,会自动根据该变量设置需要引用的SDK,参考 issues-2532

参考资源 windows CMD命令大全及详细解释和语法 | 符号 | 含义 | | :-- | :-- | | CR(0D) | 命令行结束符 | | Escape(1B) | ANSI转义字符引导符 | | Space(20) | 常用
项目无缘无故的总是自动重复Build,但是并没有设置其他触发条件 解决方案 经过艰难的调试,发现是Git Pull源码引起的锅。
使用TortoiseGit进行Git操作时,出现以下错误 TortoiseGitPlink Fatal Error Network error Software cased connect abort

在做自动化测试时,有时会忘记把测试机器的输入法调成英文状态,这就导致Sendkey()输入时是中文,导致测试失败,所以我们需要在运行测试前确保输入法是英文状态,最保险的做法是Win+Space键直接切换到 ENG英语输入法,那么该如何自动实

在自动化测试时,经常需要截图和标准图片对比,以此判断测试是否成功,那么用什么来判断测试图片与标准图片是相似的呢?这里需要使用SSIM (Structual Similarity, 结构相似性) 用来判断图片相似度

在做自动化测试的时候,需要模拟鼠标键盘操作事件,如果显示器锁屏的话,会导致测试失败,所以需要保持屏幕常亮不锁屏 控制面板 → 电源, 创建无限制高性能计划

这段时间使用bat脚本从远程服务器复制文件的时候抛出这个错误 System error 85 has occurred The local device name is already in use
Appium是用于本机, 混合和移动Web应用程序的 开源测试自动化框架。它使用WebDriver协议驱动iOS,Android和Windows应用程序

经常忘,还是做个总结吧

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

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

这是我的电脑软件清单,或许能在这里找到你所需的软件 Chrome 浏览器 Microsoft Edge 浏览器 (强烈推荐) Tampermonky 插件, 可配置常用脚本,如去除广告、免登录等 Infinity 插件, 自定义启动页
在Jenkins里面使用 Window batch command 从远程服务器复制文件到另一个服务器时,发生错误 Invalid drive specification
将 .NET Framework 库移植到 .NET Core 从 .NET Framework 移植到 .NET Core 的概述 .NET 可移植性分析器

在进行ArcGIS Pro Add-in插件开发之前,确保电脑安装以下依赖 - Visual Studio 2019 - ArcGIS Pro 2.5 - .Net Framework 4.8

这段时间因为要做自己项目的SDK,所以参考了一下Google Earth COM API的开发方式,无奈Google Earth COM API年代过于久远,技术早已过时,所以也没有很大的参考意义,这里权当整理一下自己的做的笔记,或许能帮助

要完成参数化选择Git分支,并Pull分支代码需要以下Jenkins插件 参数化构建插件: Parameterized Build Git插件:Git

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

FLAASH要求输入数据的像元值具有物理意义,其单位为: µW/(cm2 \ sr \ nm) 所以在操作此步骤之前,需对数据进行辐射定标,ENVI中通用辐射定标工具为Radiometric Calibration,默认选项定标后的数据单位

ENVI中的裁剪不是很方便,背景值总是容易保留,其实只要注意以下三点就不会出错 当shp文件为线状时,裁剪出来的栅格会以外面的矩形为准,不能完整裁剪栅格,以面状shp裁剪时,则保留面状内的栅格
| Title | Info | | :-- | :-- | | 书名 | Jenkins权威指南 | | 作者 | Jobn Ferguson Smart | | 译者 | 郝树伟 于振苓 熊熠 |
Google Earth Studio教程专栏 【Google Earth Studio】初步探索 【Google Earth Studio】基础编辑技巧 【Google Earth Studio】进阶编辑技巧 【Google Earth

前言。 这是基于16种人格测试分析来的测试报告,当初做这个测试后看到结果后惊诧不已,怎么可以这么准确!原来对自己的认识这么不透彻,这是我整理网上资料重排格式后关于自己的测试报告,希望以后能发扬自己的长处,改进自己的不足。
话虽短却道出千年智慧,事实上随着年纪的增长我们的经验、知识也在呈倍增长,但不幸的是我们的身体却越来越疲惫,记忆力体力远远没有少年时期充沛。当你回想某件事却怎么也记不起来时,当你想看清远处努力睁大眼睛时,是否也会感到青春逝去的无可奈何。

参考Github上的这项目 wuhan2020/map-viz 我使用的数据是 省市每日历史数据 分析该数据的Json内容格式,发现如下重点

Google Earth Studio教程专栏 【Google Earth Studio】初步探索 【Google Earth Studio】基础编辑技巧 【Google Earth Studio】进阶编辑技巧 【Google Earth

Google Earth Studio教程专栏 【Google Earth Studio】初步探索 【Google Earth Studio】基础编辑技巧 【Google Earth Studio】进阶编辑技巧 【Google Earth

Google Earth Studio教程专栏 【Google Earth Studio】初步探索 【Google Earth Studio】基础编辑技巧 【Google Earth Studio】进阶编辑技巧 【Google Earth

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

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

Jenkins时间表使用的UNIX知名的Cron语法 Cron语法包括以空格分隔的五个字段,示意如下: 值的范围表示方法
MSDN教程,看完后温习一遍,就算是中文懒人包吧。这是个利用ArcGIS Earth API 写的一个 Tool。 如图所示,在NuGet包中下载对应的Prism

原文网址:http://gisgeography.com/free-satellite-imagery-data-list/ 国外数据:
前言。 这片文章内容比较多,可以直接点击目录跳转你感兴趣的内容,所有数据均在文章末尾,欢迎下载 到AWS官网注册账号 AWS 云服务

下载地址:https://www.continuum.io/downloads 一路默认安装,安装完成后菜单栏查看(我这里后来安装了ipython与spyder)

该筛选下暂无文章