#jenkins
Вопрос:
У меня есть созданный мной сценарий сборки, который находится в хранилище потоков perforce в файле //HVS/Main/BuildScripts/hvs_client.jenkinsfile. Однако, когда я запускаю его, он просто автоматически завершается успешно. Вы можете видеть на изображении, что он делает.
Я установил путь к сценарию в правильном месте:
И я также настроил его с правильным путем потока:
Эта точная настройка отлично работает на моем сервере Windows под управлением jenkins. Единственная разница в том, что я пытаюсь перенести свою настройку Дженкинса с физической машины в облако. У нового мастера, который работает на Ubuntu 20.04, возникают эти проблемы. У меня также есть один «Узел», который является сервером Windows, на котором установлен и подключен агент java.
Вот как выглядит мой сценарий конвейера:
def channelId = 'removed_for_stackoverflow' def threadId def slackResponse pipeline { agent {label 'Windows'} parameters { choice(name: "BuildType", choices: ['Development', 'Shipping', 'Testing'], description: "What environment are you building to? Default is Development.") string(name: "SevenZIPDir", defaultValue: "C:\Program Files\7-Zip\7z.exe", description: "Location of 7zip executable.") booleanParam(name: "clean", description: "Should jenkins clean the workspace?", defaultValue: false) } options { skipDefaultCheckout() } stages { stage('P4 Sync') { steps { script { if (params.clean) { cleanWs() } p4sync charset: 'none', credential: '5feaca76-6a4a-4540-8a1e-e86ac8b3dc5b', populate: syncOnly(force: false, have: true, modtime: false, parallel: [enable: false, minbytes: '1024', minfiles: '1', threads: '4'], pin: '', quiet: true, revert: false), source: streamSource('//HVS/Main') } } } // https://github.com/jenkinsci/slack-plugin#bot-user-mode // https://docs.unrealengine.com/4.27/en-US/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/VersioningAssetsAndPackages/ // https://www.perforce.com/manuals/jenkins/Content/P4Jenkins/variable-expansion.html stage('Notify Slack users') { steps { script { slackResponse = slackSend(channel: channelId, replyBroadcast: true, message: "Beginning build of ${env.JOB_NAME} for CL#${P4_CHANGELIST} ${env.BUILD_URL}") threadId = slackResponse.threadId slackResponse.addReaction("stopwatch") } } } stage('Build Client') { steps { retry(3) { bat("%WORKSPACE%/Engine/Build/BatchFiles/RunUAT.bat BuildCookRun -project="%WORKSPACE%/HVS/HVS.uproject" -noP4 -platform=Win64 -clientconfig=Development -cook -allmaps -clean -build -stage -pak -CrashReporter -archive -archivedirectory="%WORKSPACE%/temp/Development/x64"") } } } /*stage('Deploy to Steam') { }*/ stage('Archive Artifacts'){ steps { dir("temp/${params.BuildType}/x64/WindowsNoEditor") { bat ""${params.SevenZIPDir}" a -mx=1 -mmt=on %WORKSPACE%/temp/HVS_${params.BuildType}_x64_${P4_CHANGELIST}.7z *" } archiveArtifacts artifacts: "temp/*.7z", followSymlinks: false, onlyIfSuccessful: true } } } post { success { script { slackSend(channel: threadId, replyBroadcast: true, message: "Build of ${env.JOB_NAME} for CL#${P4_CHANGELIST} successful! ${env.BUILD_URL}") slackResponse.addReaction("white_check_mark") } } failure { script { slackSend(channel: threadId, replyBroadcast: true, message: "Build of ${env.JOB_NAME} for CL#${P4_CHANGELIST} failed! ${env.BUILD_URL}") slackResponse.addReaction("red_circle") } } unstable { script { slackSend(channel: threadId, replyBroadcast: true, message: "Build of ${env.JOB_NAME} for CL#${P4_CHANGELIST} is not stable @channel ${env.BUILD_URL}") slackResponse.addReaction("warning") } } } }
Кто-нибудь видел это раньше? Мой один «Узел» также имеет метку «Windows».
Ответ №1:
По какой-то причине у меня не было установки плагина конвейера. Теперь это работает.