2 Commits
v23 ... v5

Author SHA1 Message Date
Grigo 2dfdd94ef2 refs TG-3: added autoReleaswe 2026-05-03 17:23:35 +03:00
Grigo 9e832ce9fa refs TG-3: added autoReleaswe 2026-05-03 17:20:05 +03:00
Vendored
+54 -41
View File
@@ -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,71 @@ 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" # Задаем путь к APK файлу
apkPath="app-debug.apk"
headers="Authorization: token $GITEA_TOKEN" # Получаем артефакт из Jenkins
JENKINS_URL="https://jenkins.grigowashere.ru"
JOB_NAME="TestingAndroid"
BUILD_NUMBER="$BUILD_NUMBER"
ARTIFACT_PATH="app/build/outputs/apk/debug/app-debug.apk"
curl -O "$JENKINS_URL/job/$JOB_NAME/$BUILD_NUMBER/artifact/$ARTIFACT_PATH"
# Create the release on Gitea # Проверяем, существует ли APK файл
release=$(curl -X POST "https://git.grigowashere.ru/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/releases" \ if [ ! -f "$apkPath" ]; then
-H "$headers" \ echo "APK file does not exist at $apkPath"
-H "Content-Type: application/json" \ exit 1
-d '{ fi
"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) echo "APK file exists: $apkPath"
# Form URL for uploading APK asset # Загружаем релиз на Gitea
uploadUrl="https://git.grigowashere.ru/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/releases/$releaseId/assets?name=app-debug.apk" headers="Authorization: token $GITEA_TOKEN"
# Upload APK file to Gitea # Создаем релиз в Gitea
curl -X POST "$uploadUrl" \ release=$(curl -X POST "https://git.grigowashere.ru/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/releases" \
-H "$headers" \ -H "$headers" \
-F "attachment=@$apkPath;type=application/vnd.android.package-archive" -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
}')
if [ $? -ne 0 ]; then releaseId=$(echo $release | jq -r .id)
echo "Gitea asset upload failed: $apkPath"
exit 1
fi
'''
sh ''' # Формируем URL для загрузки APK
chmod +x gitea-release.sh uploadUrl="https://git.grigowashere.ru/api/v1/repos/$GITEA_OWNER/$GITEA_REPO/releases/$releaseId/assets?name=app-debug.apk"
./gitea-release.sh
'''
}
}
}
# Загружаем APK файл в Gitea
curl -X POST "$uploadUrl" \
-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 +118,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"]