1

Compare commits

2 Commits
v1.0 ... master

Author SHA1 Message Date
3f4a163fe4 build: сборка Jenkins 2025-08-18 15:35:37 +03:00
7001d57332 build: удалена сборка woodpecker 2025-08-18 11:35:50 +03:00
2 changed files with 82 additions and 22 deletions

82
.jenkinsfile Normal file
View File

@@ -0,0 +1,82 @@
pipeline {
agent any
tools {
jdk 'Temurin 21'
}
environment {
GITEA_API_URL = 'https://di9.ru/git/api/v1/repos/Voomra/ss14-launcher-extractor/releases'
GITEA_TOKEN = credentials('JENKINS_GITEA_ACCESS_TOKEN')
}
stages {
stage('Сборка') {
steps {
sh './gradlew clean shadowJar'
}
}
stage('Создание релиза') {
steps {
script {
def version = sh(script: './gradlew properties -q | grep "version:" | awk \'{print $2}\'', returnStdout: true).trim()
def releaseData = """
{
"tag_name": "v${version}",
"name": "Release v${version}",
"draft": false,
"prerelease": false
}
"""
def responseApi = httpRequest(
url: env.GITEA_API_URL,
httpMode: 'POST',
customHeaders: [
[name: 'Accept', value: 'application/json'],
[name: 'Content-Type', value: 'application/json;charset=utf-8'],
[name: 'Authorization', value: 'token ' + env.GITEA_TOKEN],
],
requestBody: releaseData)
def releaseId = new groovy.json.JsonSlurper().parseText(responseApi.content).id
env.RELEASE_ID = releaseId
}
}
}
stage('Загрузка файлов в релиз') {
steps {
script {
if (!env.RELEASE_ID) {
error '❌ ID релиза не определен'
}
def files = findFiles(glob: 'build/libs/*.jar')
if (files.length == 0) {
echo '⚠️ Нет артефактов для загрузки'
return
}
files.each { file ->
def fileName = file.name
echo "Загружаем файл: ${fileName}"
httpRequest(
url: "${env.GITEA_API_URL}/${env.RELEASE_ID}/assets?name=${fileName}",
httpMode: 'POST',
customHeaders: [
[name: 'Accept', value: 'application/json'],
[name: 'Content-Type', value: 'multipart/form-data'],
[name: 'Authorization', value: 'token ' + env.GITEA_TOKEN]
],
uploadFile: "build/libs/${fileName}",
multipartName: 'attachment')
}
}
}
}
}
}

View File

@@ -1,22 +0,0 @@
when:
- branch: develop
event: [ manual ]
- event: tag
steps:
- name: build
image: "docker.io/library/eclipse-temurin:21-jdk-alpine"
commands:
- ./gradlew shadowJar
when:
event: [ manual, tag ]
- name: release
image: "docker.io/woodpeckerci/plugin-release:0.2.4"
settings:
api_key:
from_secret: "Woodpecker-Release-Token"
files: "build/libs/*.jar"
base-url: "https://di9.ru/git"
when:
event: [ tag ]