Updated Jenkins

Added Release upload
This commit is contained in:
2026-05-03 14:02:38 +00:00
parent 116e677fbe
commit b03ad35c30
Vendored
+55
View File
@@ -9,6 +9,8 @@ pipeline {
TAIGA_PROJECT_ID = '2' TAIGA_PROJECT_ID = '2'
TAIGA_URL = 'https://taiga.grigowashere.ru' TAIGA_URL = 'https://taiga.grigowashere.ru'
GITEA_OWNER = 'Grigo'
GITEA_REPO = 'Testing'
} }
stages { stages {
@@ -23,6 +25,59 @@ pipeline {
''' '''
archiveArtifacts artifacts: '**/build/outputs/apk/**/*.apk', fingerprint: true archiveArtifacts artifacts: '**/build/outputs/apk/**/*.apk', fingerprint: true
stash name: 'apk', includes: '**/build/outputs/apk/**/*.apk'
}
}
stage('Create Gitea Release and Upload APK') {
steps {
unstash 'apk'
withCredentials([string(credentialsId: 'Gitea_Credentials', variable: 'GITEA_TOKEN')]) {
writeFile file: 'gitea-release.ps1', text: '''
$ErrorActionPreference = "Stop"
$apkPath = "build/outputs/apk/debug/app-debug.apk"
$headers = @{
Authorization = "token $env:GITEA_TOKEN"
}
$body = @{
tag_name = "v$env:BUILD_NUMBER"
target_commitish = "main"
name = "Release v$env:BUILD_NUMBER"
body = "Jenkins Android build $env:BUILD_NUMBER`n$env:BUILD_URL"
draft = $false
prerelease = $false
} | ConvertTo-Json
# Создаём релиз в Gitea
$release = Invoke-RestMethod `
-Method Post `
-Uri "https://git.grigowashere.ru/api/v1/repos/$env:GITEA_OWNER/$env:GITEA_REPO/releases" `
-Headers $headers `
-ContentType "application/json" `
-Body $body
# Формируем URL для загрузки артефакта
$uploadUrl = "https://git.grigowashere.ru/api/v1/repos/$env:GITEA_OWNER/$env:GITEA_REPO/releases/$($release.id)/assets?name=app-debug.apk"
# Используем curl для загрузки APK в Gitea
curl.exe -X POST `
$uploadUrl `
-H "Authorization: token $env:GITEA_TOKEN" `
-F "attachment=@$apkPath;type=application/vnd.android.package-archive"
if ($LASTEXITCODE -ne 0) {
throw "Gitea asset upload failed: $apkPath"
}
'''
bat '''
powershell -NoProfile -ExecutionPolicy Bypass -File gitea-release.ps1
'''
}
} }
} }
} }