diff --git a/Jenkinsfile b/Jenkinsfile index 5398557..fb22f84 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,49 +34,46 @@ pipeline { unstash 'apk' withCredentials([string(credentialsId: 'Gitea_Credentials', variable: 'GITEA_TOKEN')]) { - writeFile file: 'gitea-release.ps1', text: ''' -$ErrorActionPreference = "Stop" + writeFile file: 'gitea-release.sh', text: ''' +#!/bin/bash -$apkPath = "build/outputs/apk/debug/app-debug.apk" +apkPath="build/outputs/apk/debug/app-debug.apk" -$headers = @{ - Authorization = "token $env:GITEA_TOKEN" -} +headers="Authorization: token $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 +# Create the release on Gitea +release=$(curl -X POST "https://git.grigowashere.ru/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/releases" \ + -H "$headers" \ + -H "Content-Type: application/json" \ + -d '{ + "tag_name": "v'$BUILD_NUMBER'", + "target_commitish": "main", + "name": "Release v'$BUILD_NUMBER'", + "body": "Jenkins Android build '$BUILD_NUMBER'", + "draft": false, + "prerelease": false + }') -# Создаём релиз в 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 +releaseId=$(echo $release | jq -r .id) -# Формируем URL для загрузки артефакта -$uploadUrl = "https://git.grigowashere.ru/api/v1/repos/$env:GITEA_OWNER/$env:GITEA_REPO/releases/$($release.id)/assets?name=app-debug.apk" +# Form URL for uploading APK asset +uploadUrl="https://git.grigowashere.ru/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/releases/$releaseId/assets?name=app-debug.apk" -# Используем curl для загрузки APK в Gitea -curl.exe -X POST ` - $uploadUrl ` - -H "Authorization: token $env:GITEA_TOKEN" ` +# Upload APK file to Gitea +curl -X POST "$uploadUrl" \ + -H "$headers" \ -F "attachment=@$apkPath;type=application/vnd.android.package-archive" -if ($LASTEXITCODE -ne 0) { - throw "Gitea asset upload failed: $apkPath" -} +if [ $? -ne 0 ]; then + echo "Gitea asset upload failed: $apkPath" + exit 1 +fi ''' - bat ''' -powershell -NoProfile -ExecutionPolicy Bypass -File gitea-release.ps1 -''' + sh ''' + chmod +x gitea-release.sh + ./gitea-release.sh + ''' } } }