
Python調用Google Bard API 完整指南
在使用 Jenkins 進行自動化部署時,通常從 FreeStyle
構建開始,隨著業務增長,管理多個 Job
變得低效。通過 Pipeline
創建 Job
,并使用 Jenkinsfile
存儲在項目倉庫中,提高了靈活性和可追溯性。
以下是一個基礎的 Pipeline 示例,用于定義自動構建過程和指定在哪個節點運行。
pipeline {
agent any
stages {
stage("Build") {
steps {
sh 'Hello World'
}
}
}
post {
always {
sh 'Hello World'
}
}
}
checkout
在配置 Pipeline 時,只需執行以下命令即可指定 SCM 版本倉庫地址。
checkout scm
wrap
用法在 Jenkinsfile 中,wrap
可以替代 FreeStyle 中的 Build Environment
管理設置。
wrap([$class: 'TestInProgressBuildWrapper']) {
sh '''
mvn test
'''
}
step
用法使用 step
在 FreeStyle Build 過程中執行相關步驟。
step([$class: 'Publisher', reportFilenamePattern: '**/testng-results.xml'])
通過 ${}
或 $XXX
獲取 Build 變量。
sh '${BUILD_ID}'
此示例展示如何使用 Maven 進行自動化測試,并通過報告界面展示結果。
pipeline {
agent { node { label "agent-2" } }
tools {
jdk "8u91"
maven "3.3.9"
}
stages {
stage("Build") {
steps {
wrap([$class: 'TestInProgressBuildWrapper']) {
checkout scm
sh '''
echo "PATH = ${PATH}"
echo "M2_HOME = ${M2_HOME}"
mvn test
'''
}
}
}
}
post {
always {
step([$class: 'Publisher', reportFilenamePattern: '**/testng-results.xml'])
}
}
}
Jenkins 提供了 API 來創建 Job,地址為 http://xxx/createItem?name=$jobname
。請求類型為 POST
,Content-Type
必須是 application/xml
,Body
為 XML 格式。
BRANCH_NAME="test" &&
XML_DATA="
false
2
https://gitlab.xxxx.com/xxx/autotester.git
049ef8c4-d01c-4304-b1eb-22d26ef26a8e
*/${BRANCH_NAME}
false
Jenkinsfile
true
false
" &&
curl -u username:password -H "Content-Type: application/xml" -XPOST https://jenkins.xxx.com/createItem?name=${BRANCH_NAME} -d "${XML_DATA}"
sample/sample.go
獲取更多信息。Pipeline
功能創建 Job
,并將 Jenkinsfile
存儲在項目倉庫中,可以提高自動化部署的靈活性和可追溯性。這種方法比傳統的 FreeStyle
構建更加高效,尤其是在管理多個 Job
時。wrap
和 step
?wrap
可以替代 FreeStyle 中的 Build Environment
管理設置,例如使用 wrap([$class: 'TestInProgressBuildWrapper'])
包裹 mvn test
。step
用于在 FreeStyle Build 過程中執行相關步驟,例如 step([$class: 'Publisher', reportFilenamePattern: '**/testng-results.xml'])
。http://xxx/createItem?name=$jobname
,請求類型為 POST
,Content-Type
必須是 application/xml
,Body
為 XML 格式。示例代碼中詳細展示了如何通過 API 使用 XML 數據來創建自定義 Jenkins pipeline。${}
或 $XXX
的形式獲取 Build 變量。例如,使用 sh '${BUILD_ID}'
可以在 shell 中輸出 BUILD_ID 變量的值。