diff --git a/Jenkinsfile b/Jenkinsfile index f14a184..26469cc 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -40,33 +40,28 @@ pipeline { } } -stage('Create Gitea Release') { +stage('Create Gitea Release and Upload ZIP') { agent { label 'windows' } steps { withCredentials([string(credentialsId: 'Gitea_Credentials', variable: 'GITEA_TOKEN')]) { - bat """ -curl -X POST "https://git.grigowashere.ru/api/v1/repos/Grigo/Testing/releases" ^ - -H "Authorization: token %GITEA_TOKEN%" ^ - -H "Content-Type: application/json" ^ - -d "{\\"tag_name\\":\\"v%BUILD_NUMBER%\\",\\"target_commitish\\":\\"main\\",\\"name\\":\\"Release v%BUILD_NUMBER%\\",\\"body\\":\\"Jenkins build %BUILD_NUMBER%\\",\\"draft\\":false,\\"prerelease\\":false}" -""" - } - } -} - -stage('Upload Artifact to Gitea Release') { - agent { label 'windows' } - - steps { - withCredentials([string(credentialsId: 'Gitea_Credentials', variable: 'GITEA_TOKEN')]) { - bat """ -powershell -NoProfile -Command "Compress-Archive -Path dist\\windows\\* -DestinationPath dist\\windows-build.zip -Force" - -curl -X POST "https://git.grigowashere.ru/api/v1/repos/Grigo/Testing/releases/tags/v%BUILD_NUMBER%/assets" ^ - -H "Authorization: token %GITEA_TOKEN%" ^ - -F "attachment=@dist\\windows-build.zip" -""" + bat ''' +powershell -NoProfile -ExecutionPolicy Bypass -Command ^ + "$ErrorActionPreference='Stop'; ^ + Compress-Archive -Path dist\\windows\\* -DestinationPath dist\\windows-build.zip -Force; ^ + $headers = @{ Authorization = 'token ' + $env:GITEA_TOKEN }; ^ + $body = @{ ^ + tag_name = 'v' + $env:BUILD_NUMBER; ^ + target_commitish = 'main'; ^ + name = 'Release v' + $env:BUILD_NUMBER; ^ + body = 'Jenkins build ' + $env:BUILD_NUMBER; ^ + draft = $false; ^ + prerelease = $false ^ + } | ConvertTo-Json; ^ + $release = Invoke-RestMethod -Method Post -Uri 'https://git.grigowashere.ru/api/v1/repos/Grigo/Testing/releases' -Headers $headers -ContentType 'application/json' -Body $body; ^ + $uploadUrl = 'https://git.grigowashere.ru/api/v1/repos/Grigo/Testing/releases/' + $release.id + '/assets?name=windows-build.zip'; ^ + Invoke-RestMethod -Method Post -Uri $uploadUrl -Headers $headers -InFile 'dist\\windows-build.zip' -ContentType 'application/zip'" +''' } } }