Jenkins在windows平台下,让Powershell和批处理可以拉起进程并保持

  • 📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!

  • 📢本文作者:由webmote 原创

  • 📢作者格言:无尽的折腾后,终于又回到了起点,工控,我来了 !

523ab41110f2e0ef0111c4caee46e1ca.png

前言

没有人喜欢windows平台下的自动化构建,一如多年前没人喜欢linux的桌面一样。不过由于windows平台具有巨大的客户群体和开发公司的死忠粉,因此Jenkins工具还是具有相当大的用户群体的,因此作为开发者的一员,有时候,不得不去了解下运维工作的内容,甚至自己也需要兼职干些什么。最近在考虑windows下ci集成,又拉起了jenkins的手,毕竟虽然界面难看,可是手真的很暖。

问题

Jenkins是一个可扩展的持续集成软件平台,也是CI的工具箱中的重要一员,持续集成,就是通常所说的CI(Continues Integration),可以说是现代软件技术开发的基础。

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也意味着每天可能会发生多次集成。这应该是开发经理能想到的事情,不过在我向我的领导说起这事时,他竟然说根本没有的事,哎,奈何如此?

如果每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,那么从而能尽快地发现集成错误。团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件,这个说法竟然不能说服领导,有时候在低认知的团队做事情真的比较难。

刚说了一堆Jenkins的介绍,而我遇到的问题是:

Jenkins对批处理或powershell进行了输出跟踪,并且可以跟踪子进程,它在批处理结束后,会对整个进程树进行扫描,关闭所有拉起的其他进程

这真是个好特性!当然是对资源利用来说的。

对于我这种想保持拉起的子进程,一直运行而不被关闭的做法而言,简直是灾难,经过了好多个小时的尝试,最终我发现了这个问题。

Jenkins杀死了 批处理拉起的进程!

解决

为了避免拉起来的进行被杀死,Jenkins提供了一些hack技术。
主要是设置2个环境变量,因此不管你是什么脚本,理论上都可以进行设置,以保持子进程继续运行。

下面是在Powershell脚本下写的代码:

# my_powershell_script.ps1 content
$ENV:BUILD_ID="dontKillMe"
$ENV:JENKINS_NODE_COOKIE="dontKillMe"

总结

又浪费了几天的时间,领导特别不喜欢,哎~~~~
自动化就是这么难落地!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MVC身份验证及权限管理(转载)

from https://www.cnblogs.com/asks/p/4372783.html MVC自带的ActionFilter 在Asp.Net WebForm的中要做到身份认证微软为我们提供了三种方式&#xff0c;其中最常用的就是我们的Form认证&#xff0c;需要配置相应的信息。例如下面的配置信息&#xff1a; <authentication mo…

WPF-23 基于Timer任务调度

.NET的FCL中提供了几个计时器&#xff0c;大多数初学者都不清楚他们有什么不同&#xff0c;那我们这节来剖解一下每个计时器的本质&#xff1a;1.System.Threading.Timer如果在一个线程池上执行一个定时的周期性的后台线程任务他是最好的选择&#xff0c;这个类是和线程池相关联…

在.NET中不安装Office使用EPPlus生成带图表(Chart)的Excel报表

在开发.NET应用中可能会遇到需要生成带图表(Chart)的Excel报表的需求&#xff0c;特别是在一些ASP.NET网站中&#xff0c;有时候我们并不能保证Web服务器上一定安装了Office组件&#xff0c;所以使用微软的Office来生成Excel并不保证在所有情况下都使用&#xff0c;有时候即使W…

facebook 邀请好友_如何在Facebook上与某人解除好友

facebook 邀请好友It’s very easy for your Facebook News Feed to get cluttered. After a few years adding ukulele playing magicians you meet wandering the street and the bar staff at every bar you go to regularly, it gets overrun with people you’ll never se…

mac下npm/node的安装和卸载、升级;node、npm升级后最后删掉node_modules重新安装

mac还是使用brew install简单一些&#xff1b;最好使用一种安装方式&#xff0c;不要多种方式互用&#xff1b; 更新npm到最新版本npm install -g npm更新npm到指定版本 npm -g install npm2.9.1指定安装目录npm install --prefix /usr/local -g npm 1、从官网https://nodejs.o…

Edison的2022年终总结

大家好&#xff0c;我是Edison。2022年即将结束&#xff0c;又到了做年终总结的时候&#xff0c;它是我每年的一个习惯&#xff0c;意味着又要开始新的征途&#xff0c;在开始新的征途之前回顾一下很有必要。艰难抉择&#xff1a;从互联网到制造业今年最大的变化就是又换了份工…

JNI

配置NDK&#xff0c;调用JNI最终会生成一个so库&#xff0c;如果so库生成了。直接在项目中使用so库即可调用本地方法。注意&#xff1a;api的包名要与so库定义的包名一致。 1什么是jni jni java native interface java本地开发接口&#xff0c;是JAVA和C互相调用的桥梁。 2jni有…

dvd vlc 复制_如何使用VLC翻录DVD

dvd vlc 复制There are many ways to rip a DVD to your computer, but if you’re looking for the most straightforward option, VLC is easy and free. Besides, you probably already have VLC on your computer (and if you don’t, you should). Here, we’ll show you …

新年芯事 | 龙芯物联网主控芯片龙芯1C102和龙芯1C103流片成功

前言近期&#xff0c;龙芯中科面向物联网领域研制的主控芯片--龙芯1C102和龙芯1C103流片成功&#xff0c;两款微控制器芯片各项功能测试正常&#xff0c;符合设计预期。 龙芯1C102主要面向智能家居以及其他物联网设备详细介绍龙芯1C102采用龙芯LA132处理器核心&#xff0c;是一…

【加更】搭建基于chatgpt的钉钉聊天机器人

应某些小伙伴的加更请求&#xff0c;出一期基于钉钉上的聊天机器人&#xff0c;我顺便加更一期&#xff0c;搭建一个钉钉聊天机器人的小教程。首先进入到钉钉开放平台的后台管理系统&#xff1a;https://open.dingtalk.com/进入到 应用开发->企业内部开发->机器人右上角选…

word中 有注释标签吗_如何在Word中注释图像

word中 有注释标签吗If you’re writing a document that includes images, you may want to add annotations to those images to clarify what they represent. You can add callouts to your images to point out particular parts of the image and add text to describe t…

牛客网暑期ACM多校训练营(第二场)J farm (二维树状数组)

题目链接&#xff1a; https://www.nowcoder.com/acm/contest/140/J 思路&#xff1a; 都写在代码注释里了&#xff0c;非常好懂。。 for_each函数可以去看一下&#xff0c;遍历起vector数组比较方便&#xff0c;用for(int i 0;i < q[i].size();i)的话&#xff0c;是会有一…

微软IE 9 Beta全程体验图集

微软刚刚更新了IE 9 Beta的新页面&#xff0c;此次发布的Beta版本一共有27个国家的语言&#xff0c;其中也包括了简体中文和香港和台湾的繁体中文版。 点击此处进入下载页面&#xff1a; http://windows.microsoft.com/zh-CN/internet-explorer/download/ie-9/worldwide IE9的热…

.net core中Quartz的使用方法

我们在日常开发中&#xff0c;总会遇到这样的需求&#xff1a;每隔一段时间&#xff0c;执行一次某个任务。固定某个时间执行任务&#xff0c;例如凌晨12点对当天的数据进行统计。每个月的第几天&#xff0c;执行某个任务。Quartz.Net是根据Java的Quartz用C#改写而来&#xff0…

windows10访客_如何在Windows 10中创建访客帐户

windows10访客If you find that your guests are asking fairly often to use your computer temporarily to check their email or look something up on the web, you don’t have to let them use your personal account or create a special account for each guest. 如果发…

几个有趣的算法题目

本文首发 http://svtter.cn最接近的数字 题目 一个K位的数N $$ (K\leq2000&#xff0c;N\leq10^{20}) $$ 找出一个比N大且最接近的数&#xff0c;这个数的每位之和与N相同&#xff0c;用代码实现之。 例如&#xff1a;0050 所求书数字为0104&#xff1b;112 所求数为121&#x…

获取一篇新闻的全部信息

给定一篇新闻的链接newsUrl&#xff0c;获取该新闻的全部信息 标题、作者、发布单位、审核、来源 发布时间:转换成datetime类型 点击&#xff1a; newsUrlnewsId(使用正则表达式re)clickUrl(str.format(newsId))requests.get(clickUrl)newClick(用字符串处理&#xff0c;或正则…

上twitter_如何在Twitter上更改您的显示名称

上twitterUnlike Facebook, Twitter has never insisted people user their real names. In fact, there’s a long tradition of people changing their names to a joke or pun because it’s Christmas or Halloween, or just for no reason at all. 与Facebook不同&#xf…

网桥

配置实现网桥 网桥&#xff1a;即桥接 把一套机器上的若干个网络接口 “连接” 起来&#xff0c;其结果是&#xff0c;其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备&#xff0c;它有若干个网口&#xff0c;并…

raspberry pi_在月光下将Raspberry Pi变成蒸汽机

raspberry piValve’s Steam Machines aim to bring your Steam game library right into your living room (but at a rather steep premium). Today we’ll show you how to bring your Steam library (plus all your other computer games) to your living room for a fract…