feature: names refactoring, Jenkinsfile edit, example edit, bug fixes

This commit is contained in:
2025-03-05 01:36:24 +03:00
parent 7f3a76c984
commit 1b34bd5df1
11 changed files with 128 additions and 67 deletions

View File

@@ -16,6 +16,8 @@ pipeline {
steps {
script {
env.CI_PROPERTIES_FILE_LOCATIONS = ".ci/ci.properties"
env.CI_DOCKER_REGISTRY_USERNAME = env.GITEA_USER
env.CI_DOCKER_REGISTRY_PASSWORD = env.GITEA_TOKEN
}
}
}
@@ -35,44 +37,46 @@ pipeline {
stage('Build: Regular') {
steps {
// TODO: Костыль. Надо скрипты адаптировать под сборку "На каждый коммит" и "Для релизов"
runGroovy 'docker_build'
runGroovy 'build_docker'
}
}
// Дополнительная сборка для релизов
stage('Build: Release Binaries And Deploy Image') {
when {
tag "release-*"
anyOf {
tag "release-*"
tag "binaries-*"
}
}
steps {
script {
// Пример смены набора докерфайлов, которые используются по-умолчанию
env.CI_DOCKER_FILES_PRESET="release"
}
runGroovy 'docker_build'
runGroovy 'release_docker_gitea_publish'
}
}
// Пушим собранный образ в Docker Registry
stage('Publish: Publish a docker image') {
stage('Publish: Release docker image') {
when {
tag "release-*"
anyOf {
tag "release-*"
tag "docker-*"
}
}
steps {
// Переопределяем параметры скрипта из переменных окружения сборщика
script {
env.CI_DOCKER_REGISTRY_USERNAME = env.GITEA_USER
env.CI_DOCKER_REGISTRY_PASSWORD = env.GITEA_TOKEN
}
runGroovy 'docker_push'
runGroovy 'release_docker_build_push'
}
}
// Создаем в Gitea релиз с бинарями
stage('Publish: Create gitea release') {
when {
tag "release-*"
anyOf {
tag "release-*"
tag "binaries-*"
}
}
steps {
// Переопределяем параметры скрипта из переменных окружения сборщика
@@ -83,32 +87,24 @@ pipeline {
env.CI_GITEA_TOKEN = env.GITEA_TOKEN
}
runGroovy 'docker_gitea_release_publish'
}
}
// Добавляем SSH профиль для последующего деплоя и проверяем его
stage('Prepare: Configuring SSH profile') {
when {
tag "release-*"
}
steps {
// Переопределяем параметры скрипта из переменных окружения сборщика
script {
env.CI_DEPLOY_SSH_PROFILE_PRIVATE_KEY_BASE64 = env.SSH_KEY_BASE64
}
runGroovy 'deploy_ssh_profile_setup'
runGroovy 'release_gitea_artifacts_publish_docker'
}
}
// Подключаемся к серверу по SSH, обновляем тэг образа и перезапускаем
stage('Deploy: Update PROD docker-compose environment tag') {
when {
tag "release-*"
anyOf {
tag "release-*"
tag "deploy-*"
}
}
steps {
runGroovy 'deploy_compose_via_ssh'
script {
env.CI_DEPLOY_SSH_PROFILE_PRIVATE_KEY_BASE64 = env.SSH_KEY_BASE64
}
runGroovy 'deploy_ssh_profile_setup'
runGroovy 'deploy_docker_build_push_update_compose_via_ssh'
}
}
}