以下是一个使用 PowerShell 脚本远程调用 Jenkins 作业的示例:
# 引入 Jenkins API 的命名空间
Add-Type -Path "C:\Program Files (x86)\Jenkins\jenkins-cli.jar"
# 定义 Jenkins 服务器的 URL 和凭据
$jenkinsUrl = "http://jenkins.example.com"
$username = "your_username"
$password = "your_password"
# 定义 Jenkins 作业的名称和参数
$jobName = "your_job_name"
$jobParams = @{
param1 = "value1"
param2 = "value2"
}
# 创建 Jenkins 客户端对象
$jenkins = New-Object -TypeName JenkinsModel.Hudson
$jenkins.Url = $jenkinsUrl
$jenkins.Credentials = New-Object -TypeName System.Net.NetworkCredential -ArgumentList $username, $password
# 获取 Jenkins 作业的详细信息
$jobInfo = $jenkins.GetJob($jobName)
# 构建 Jenkins 作业
$buildNumber = $jobInfo.GetNextBuildNumber()
$jenkins.BuildJob($jobName, $jobParams)
# 等待作业完成
while ($jobInfo.IsBuilding) {
Start-Sleep -Seconds 10
$jobInfo = $jenkins.GetJob($jobName)
}
# 获取作业的构建结果
$buildResult = $jenkins.GetBuild($jobName, $buildNumber).Result
# 输出构建结果
Write-Host "Build Result: $buildResult"
请确保替换以下变量的值以适应你的环境:
$jenkinsUrl
:Jenkins 服务器的 URL。$username
:用于身份验证的用户名。$password
:用于身份验证的密码。$jobName
:要调用的 Jenkins 作业的名称。$jobParams
:作业的参数列表,如果没有参数,可以留空或删除。这个脚本使用 Jenkins CLI 的 jenkins-cli.jar
文件来远程调用 Jenkins 作业。确保你已经下载并安装了 jenkins-cli.jar
文件,并将其路径更新到脚本中的 Add-Type -Path
命令。
此脚本将构建作业并等待作业完成。完成后,它将获取作业的构建结果并将其输出到控制台。
请注意,为了安全起见,建议将密码保存在安全的位置,并根据需要使用安全的方式获取密码,而不是直接将密码硬编码到脚本中。