Updated Jenkins
Added Release upload
This commit is contained in:
Vendored
+55
@@ -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
|
||||||
|
'''
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user