1

Compare commits

...

18 Commits

Author SHA1 Message Date
c82cfd7a3e build(ci): убрана лишняя проверка http статусов 2025-08-18 14:47:09 +03:00
98bee78634 build(ci): fix http headers 2025-08-18 14:45:26 +03:00
bbb8f457d6 build(ci): fix http headers 2025-08-18 14:35:18 +03:00
974548497c build(ci): fix syntax 2025-08-18 14:32:15 +03:00
949ef19133 build(ci): fix charset 2025-08-18 14:28:23 +03:00
1838cbb56e build(ci): fix set http headers 2025-08-18 14:22:07 +03:00
6f4a18f795 build(ci): fix syntax 2025-08-18 14:17:50 +03:00
465bca2192 build(ci): fix использование прямого кода 2025-08-18 14:14:54 +03:00
14536c690a build(ci): загрузка артефактов в релиз 2025-08-18 13:42:03 +03:00
4d625f97ba build(ci): fix использование переменных 2025-08-18 13:02:07 +03:00
3e034a2db7 build(ci): fix environment 2025-08-18 12:54:17 +03:00
ab43b2e778 build(ci): вывод результата curl 2025-08-18 12:28:37 +03:00
e8229053cd build(ci): set "draft" false 2025-08-18 12:21:45 +03:00
7626f42cd5 build(ci): fix: безопасность 2025-08-18 12:19:55 +03:00
ef20c04e92 build(ci): создание релиза в Gitea 2025-08-18 12:11:12 +03:00
74d3310a90 build(ci): указание версии JDK 2025-08-18 11:50:36 +03:00
1a83e4780e build: сборка Jenkins 2025-08-18 11:35:52 +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}-test",
"name": "Release v${version}",
"body": "Jenkins автоматически создал релиз",
"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}"
def responseApi = 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}")
}
}
}
}
}
}

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 ]