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.pswp.cn/news/279810.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/279810.shtml
英文地址,請注明出處:http://en.pswp.cn/news/279810.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ASP.NET高并發解決方案

一、頁面靜態化; 二、運用WCF,WEB SERVICE等技術實現分布式業務邏輯處理及數據訪問的能力; 三、頁面緩存; 四、數據緩存; 五、建立圖片文件服務器; 本文轉自 夢在旅途 博客園博客,原文鏈接:http…

MVC身份驗證及權限管理(轉載)

from https://www.cnblogs.com/asks/p/4372783.html MVC自帶的ActionFilter 在Asp.Net WebForm的中要做到身份認證微軟為我們提供了三種方式&#xff0c;其中最常用的就是我們的Form認證&#xff0c;需要配置相應的信息。例如下面的配置信息&#xff1a; <authentication mo…

面試問題總結

面試了兩家公司&#xff0c;第一家沒有筆試直接面試&#xff0c;第二家筆試面試&#xff0c;將記得住的問題記錄下來&#xff0c;答案自己找的&#xff0c;有好的答案歡迎提出。 1、響應式布局 一家公司問了em和rem的區別&#xff0c;另一家公司先問了一下px,em,rem的區別&…

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…

軟件工程小組第三次正式會議

會議主題&#xff1a;主要確定數據庫具體內容與會時間&#xff1a;3月29日與會地點&#xff1a;圖書館小組研究室雨水612與會成員&#xff1a;尚卓燃、張世豪、王昊鈺、傅宇豪會議記錄&#xff1a; 小組成員一起討論數據庫&#xff0c;確定了數據庫中的實體、屬性、聯系&#…

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;是一…

Javascript基礎學習20問(二)

1.函數&#xff08;方法&#xff09;&#xff1a;封裝執行一項專門任務的步驟的代碼序列--》重用2.參數&#xff1a;方法內獨有的變量&#xff0c;接受傳入數據&#xff0c;在方法中處理3.作用域&#xff1a;一個變量的可用范圍 全局作用域&#xff1a;全局變量 局部作用…

Thrift第三課 編寫腳本

警告 盡量使用tutorial下面的模板&#xff0c;注意腳本的格式&#xff0c;否則生成錯誤 使用thrift-0.9.0生成C/csharp代碼 使用的指令如下: thrift-0.9.0.exe --gen cpp thriftcom.thrift thrift-0.9.0.exe --gen csharp thriftcom.thrift 1 注釋 有如下的三種方式 1&#xff…

【加更】搭建基于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…

Lang.String

StringBuilder 原文&#xff1a; public final class StringBuilder extends Object implements Serializable, CharSequence A mutable sequence of characters. This class provides an API compatible with StringBuffer, but with no guarantee of synchronization. This c…

牛客網暑期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…