refs TG-3: added autoReleaswe
This commit is contained in:
Vendored
+46
-41
@@ -10,7 +10,6 @@ pipeline {
|
|||||||
TAIGA_URL = 'https://taiga.grigowashere.ru'
|
TAIGA_URL = 'https://taiga.grigowashere.ru'
|
||||||
GITEA_OWNER = 'Grigo'
|
GITEA_OWNER = 'Grigo'
|
||||||
GITEA_REPO = 'TestingAndroidBuild'
|
GITEA_REPO = 'TestingAndroidBuild'
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
@@ -29,56 +28,63 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Create Gitea Release and Upload APK') {
|
stage('Create Gitea Release and Upload APK') {
|
||||||
steps {
|
steps {
|
||||||
unstash 'apk'
|
unstash 'apk'
|
||||||
|
|
||||||
withCredentials([string(credentialsId: 'Gitea_Credentials', variable: 'GITEA_TOKEN')]) {
|
withCredentials([string(credentialsId: 'Gitea_Credentials', variable: 'GITEA_TOKEN')]) {
|
||||||
writeFile file: 'gitea-release.sh', text: '''
|
writeFile file: 'gitea-release.sh', text: '''
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
apkPath="build/outputs/apk/debug/app-debug.apk"
|
# Define the APK file path
|
||||||
|
apkPath="build/outputs/apk/debug/app-debug.apk"
|
||||||
|
|
||||||
headers="Authorization: token $GITEA_TOKEN"
|
# Check if the APK exists
|
||||||
|
if [ ! -f "$apkPath" ]; then
|
||||||
|
echo "APK file does not exist at $apkPath"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Create the release on Gitea
|
echo "APK file exists: $apkPath"
|
||||||
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
|
|
||||||
}')
|
|
||||||
|
|
||||||
releaseId=$(echo $release | jq -r .id)
|
headers="Authorization: token $GITEA_TOKEN"
|
||||||
|
|
||||||
# Form URL for uploading APK asset
|
# Create the release on Gitea
|
||||||
uploadUrl="https://git.grigowashere.ru/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/releases/$releaseId/assets?name=app-debug.apk"
|
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
|
||||||
|
}')
|
||||||
|
|
||||||
# Upload APK file to Gitea
|
releaseId=$(echo $release | jq -r .id)
|
||||||
curl -X POST "$uploadUrl" \
|
|
||||||
-H "$headers" \
|
|
||||||
-F "attachment=@$apkPath;type=application/vnd.android.package-archive"
|
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
# Form URL for uploading APK asset
|
||||||
echo "Gitea asset upload failed: $apkPath"
|
uploadUrl="https://git.grigowashere.ru/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/releases/$releaseId/assets?name=app-debug.apk"
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
'''
|
|
||||||
|
|
||||||
sh '''
|
# Upload APK file to Gitea
|
||||||
chmod +x gitea-release.sh
|
curl -X POST "$uploadUrl" \
|
||||||
./gitea-release.sh
|
-H "$headers" \
|
||||||
'''
|
-F "attachment=@$apkPath;type=application/vnd.android.package-archive"
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Gitea asset upload failed: $apkPath"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
'''
|
||||||
|
|
||||||
|
sh '''
|
||||||
|
chmod +x gitea-release.sh
|
||||||
|
./gitea-release.sh
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
post {
|
post {
|
||||||
@@ -104,7 +110,6 @@ pipeline {
|
|||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import urllib.request
|
import urllib.request
|
||||||
import urllib.error
|
|
||||||
|
|
||||||
taiga_url = os.environ["TAIGA_URL"]
|
taiga_url = os.environ["TAIGA_URL"]
|
||||||
project_id = os.environ["TAIGA_PROJECT_ID"]
|
project_id = os.environ["TAIGA_PROJECT_ID"]
|
||||||
|
|||||||
Reference in New Issue
Block a user