新增buildNumber
This commit is contained in:
parent
f76929f8b9
commit
1d6b7b09af
140
vars/Pipeline_dev_update.groovy
Normal file
140
vars/Pipeline_dev_update.groovy
Normal file
@ -0,0 +1,140 @@
|
||||
//=================================================================
|
||||
// Byway Studios Inc. Confidential Information.
|
||||
// Copyright Byway Studios Inc. All rights reserved
|
||||
//=================================================================
|
||||
|
||||
def call(Map config)
|
||||
{
|
||||
pipeline
|
||||
{
|
||||
agent
|
||||
{
|
||||
label config.winbakeLabel
|
||||
}
|
||||
options
|
||||
{
|
||||
skipDefaultCheckout(true) // ★ 关键:禁止 Jenkins 自动 checkout library
|
||||
}
|
||||
stages
|
||||
{
|
||||
stage("Checkout Unity Project")
|
||||
{
|
||||
options
|
||||
{
|
||||
timeout(30)
|
||||
}
|
||||
steps
|
||||
{
|
||||
script {
|
||||
// 配置 Git 支持长路径(解决 Windows 260 字符限制)
|
||||
bat 'git config --global core.longpaths true'
|
||||
}
|
||||
checkout([
|
||||
$class: 'GitSCM',
|
||||
branches: [[name: '*/main']], // 分支名
|
||||
userRemoteConfigs: [[
|
||||
url: 'git@gitea.bywaystudios.com:pet_home/AplusB_Pet_nation.git',
|
||||
credentialsId: '503eaa43-0676-40ac-81c0-d9c5cc8b4ff7'
|
||||
]],
|
||||
extensions: [
|
||||
[$class: 'SubmoduleOption',
|
||||
disableSubmodules: false,
|
||||
parentCredentials: true,
|
||||
recursiveSubmodules: true,
|
||||
trackingSubmodules: false, // 关闭,避免冲突
|
||||
reference: '',
|
||||
timeout: 20,
|
||||
threads: 1],
|
||||
[$class: 'PruneStaleBranch']
|
||||
]
|
||||
])
|
||||
|
||||
}
|
||||
}
|
||||
stage("Build Unity Android")
|
||||
{
|
||||
options
|
||||
{
|
||||
timeout(60)
|
||||
}
|
||||
steps
|
||||
{
|
||||
BuildBundlesAndroid(config)
|
||||
}
|
||||
}
|
||||
stage("AchiveArtifact")
|
||||
{
|
||||
options
|
||||
{
|
||||
timeout(10)
|
||||
}
|
||||
steps
|
||||
{
|
||||
archiveArtifact("Android_dev")
|
||||
}
|
||||
}
|
||||
}
|
||||
post
|
||||
{
|
||||
always
|
||||
{
|
||||
script {
|
||||
// 获取触发者
|
||||
def triggerUser = "自动触发"
|
||||
def buildCause = currentBuild.getBuildCauses()
|
||||
if (buildCause && buildCause.size() > 0 && buildCause[0].userName) {
|
||||
triggerUser = buildCause[0].userName
|
||||
}
|
||||
|
||||
// 获取失败阶段(仅失败时)
|
||||
def failedStage = ""
|
||||
if (currentBuild.currentResult == 'FAILURE') {
|
||||
def stages = currentBuild.rawBuild.getAction(org.jenkinsci.plugins.workflow.job.views.FlowGraphAction)?.getNodes()
|
||||
if (stages) {
|
||||
for (stage in stages) {
|
||||
if (stage.getError() != null) {
|
||||
failedStage = "\n- 失败阶段: ${stage.getDisplayName()}"
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 收集提交记录
|
||||
def changeString = ""
|
||||
def changeLogSets = currentBuild.changeSets
|
||||
if (changeLogSets.size() > 0) {
|
||||
changeString = "\n\n提交记录:\n"
|
||||
for (int i = 0; i < changeLogSets.size(); i++) {
|
||||
def entries = changeLogSets[i].items
|
||||
for (int j = 0; j < entries.length; j++) {
|
||||
def entry = entries[j]
|
||||
changeString += "- ${entry.commitId.take(7)} ${entry.msg} - ${entry.author}\n"
|
||||
}
|
||||
}
|
||||
} else {
|
||||
changeString = "\n\n提交记录: 无变更"
|
||||
}
|
||||
|
||||
dingtalk(
|
||||
robot:'dingtalk_unity_1',
|
||||
type:'MARKDOWN',
|
||||
title:"${currentBuild.currentResult} - dev #${env.BUILD_NUMBER}",
|
||||
text: [
|
||||
"### ${currentBuild.currentResult}",
|
||||
"\n构建信息:",
|
||||
"- 项目: ${env.JOB_NAME}",
|
||||
"- 构建号: #${env.BUILD_NUMBER}",
|
||||
"- 分支: main",
|
||||
"- 触发者: ${triggerUser}",
|
||||
"- 耗时: ${currentBuild.durationString}${failedStage}",
|
||||
"\n链接:",
|
||||
"- [下载链接](${env.BUILD_URL})",
|
||||
changeString
|
||||
]
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -32,6 +32,6 @@ def call(clearPackageCache,methodName)
|
||||
bat label: "Executing Unity method: ${methodName}", script: """
|
||||
set UNITY_PATH=C:\\Program Files\\Unity\\Hub\\Editor\\${gUnityVersion_Windows}\\Editor\\Unity.exe
|
||||
for /f %%i in ('git rev-parse --short HEAD') do set GIT_HASH=%%i
|
||||
"%UNITY_PATH%" -quit -batchmode -nographics -projectPath "${WORKSPACE}" -executeMethod "${methodName}" -buildTarget Android -gitHash %GIT_HASH% -stackTraceLogType None -logFile -
|
||||
"%UNITY_PATH%" -quit -batchmode -nographics -projectPath "${WORKSPACE}" -executeMethod "${methodName}" -buildTarget Android -gitHash %GIT_HASH% -buildNumber %BUILD_NUMBER% -stackTraceLogType None -logFile -
|
||||
"""
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user