將 Powershell 腳本轉換為 jenkins 作業

沙哈爾

我有以下功能:


function DivideAndCreateFiles ([string] $file, [string] $ruleName) {
    $Suffix = 0
    $FullData = Get-Content $file
    $MaxIP = 40
        
    while ($FullData.count -gt 0 ){
        $NewData = $FullData | Select-Object -First $MaxIP
        $FullData = $FullData | Select-Object -Skip $MaxIP
        $NewName = "$ruleName$Suffix"
        New-Variable -name $NewName -Value $NewData
        Get-Variable -name $NewName -ValueOnly  | out-file "$NewName.txt" 
        $Suffix++
    }
   
}

這個函數需要一個文件位置,這個文件包含數百個ips。然後它迭代文件並從中創建文件,每個文件都包含 40 個 ip,命名為 $rulename$suffix 所以如果 $rulename=blabla

我會得到 blabla_0 、 blabla_1 、 .. 等等,每個都有 40 ips。

我需要轉換此邏輯並將其放入 jenkins 作業中。此文件位於作業的工作目錄中,名為 ips.txt

suffix = 0
maxIP = 40
ips = readFile('ips.txt')

...

我很高興在這裡重新編寫這個函數的一些幫助,我對 jenkins / groovy 很陌生

在advacne感謝

諾姆·赫爾默

您可以使用類似於以下常規代碼的內容輕鬆實現這一點:

def divideAndCreateFiles(path, rule_name, init_suffix = 0, max_ip = 40){
    // read the file and split lines by new line separator
    def ips = readFile(path).split("\n").trim()   
  
    // divide the IPs into groups according to the maximum ip range          
    def ip_groups = ips.collate(ips.size().intdiv(max_ip))   
 
    // Iterate over all groups and write them to the corresponding file
    ip_groups.eachWithIndex { group, index ->
        writeFile file : "${rule_name}${init_suffix + index}", text: group.join("\n")
    }
}

在我看來,因為您已經在 groovy 中編寫了一個完整的管道,所以在 groovy 中處理所有邏輯更容易,包括這個函數。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

將外部 C# 腳本添加到 PowerShell 腳本作為源

將 PHP POST 腳本轉換為 C#

將 Python 腳本轉換為 C++

將 C# 轉換為 PowerShell

將 Unicode 更改為 UTF-8 | PowerShell 腳本

在 Unity 中將腳本製作為 Unreal

在shell腳本中將4位數年份轉換為2位數

需要幫助將 Python 腳本轉換為 PHP

將時間戳從 API 轉換為日期應用程序腳本

如何在java腳本中將時間戳轉換為秒

Powershell 將 txt 文件的列轉換為 JSON 格式

Powershell - 將 .XLS 文件轉換為 .XLSX

我在將 bash 命令轉換為 shell 腳本中的 shell 腳本語法錯誤時遇到錯誤

我們可以將 android 應用程序腳本轉換為網絡應用程序嗎?

通過應用程序腳本問題將復選框值轉換為單詞

將包含數百萬行的文本文件轉換為 mongodb 插入查詢的 Bash 腳本

如何將python列表中的不同字符串轉換為bash腳本中的數組

將同步函數轉換為在引擎蓋下沒有異步作業的異步函數會帶來性能損失嗎?

如何將列表轉換為以索引列表作為值的字典?

如何將列表作為鍵值的單個字典轉換為字典列表?

JQ:將帶有列表作為值的字典轉換為平面 CSV

將小數點數字轉換為整數 - PowerShell

將文本文件數據轉換為 csv powershell

PowerShell 將多個數組轉換為自定義 HTML 表

在powershell中將日期字符串轉換為日期時間

如何將文本轉換為帶有分隔符“|”的csv文件 在 PowerShell 中

Powershell - 將有序嵌套字典轉換為 html

用於組合 CSV 並將根目錄添加為附加列的 PowerShell 腳本

如何將 Pandas Week 轉換為用戶支持的業務邏輯?