Go to file
2025-03-08 02:27:25 +03:00
gradle initial commit 2025-03-04 15:35:36 +03:00
src/main/groovy feature: updated scripts, Jenkinsfile. added install.sh 2025-03-08 02:08:53 +03:00
.gitignore chore: added .gitignore 2025-03-05 01:38:29 +03:00
build.gradle initial commit 2025-03-04 15:35:36 +03:00
ci.example.properties feature: names refactoring, Jenkinsfile edit, example edit, bug fixes 2025-03-05 01:36:24 +03:00
Example.Jenkinsfile feature: updated Example.Jenkinsfile and README.md 2025-03-08 02:27:25 +03:00
gradle.properties initial commit 2025-03-04 15:35:36 +03:00
gradlew initial commit 2025-03-04 15:35:36 +03:00
gradlew.bat initial commit 2025-03-04 15:35:36 +03:00
install.sh feature: updated scripts, Jenkinsfile. added install.sh 2025-03-08 02:08:53 +03:00
README.md feature: updated Example.Jenkinsfile and README.md 2025-03-08 02:27:25 +03:00
settings.gradle initial commit 2025-03-04 15:35:36 +03:00

Universal CI/CD Scripts

CI/CD скрипты на груви для большинства проектов tswf.

Назначение

Настройка всей сборки одним файлом - ci.properties

Как работает

  • Jenkins поднимает DooD контейнер (можно в целом заменить на DinD с SysBOX со временем), с груви и докером.
    • CI скрипты на груви:
      • Выполняют сборку проекта в Docker
      • Если установлены специальные релизные тэги, то создает релиз в Gitea с нужными артефактами
      • Если установлены специальные деплой-тэги, то деплоит через обновление тэга в docker-compose файле по SSH на целевом сервере нужный образ.

Тэги

Понимание того, что не нужно ограничиваться простым билдом приходит из установленных тэгов.

По-умолчанию тэги бывают четырех видов:

Деплой тэги

Начинаются с префикса deploy-, или переопределенных в .ci.properties

Если при сборке коммита есть такой тэг - собранный докер образ будет опубликован и прописан в docker-compose через SSH файл согласно настройкам в .ci.properies

Артефакиные тэги

Начинаются с префикса binaries-

Если при сборке коммита есть такой тэг - будут собраны все артефакты и создан релиз в гите.

Докер тэги

Начинаются с префикса docker-

Если при сборке коммита есть такой тэг - будет собран и запушен Docker образ приложения.

Релизные тэги.

Начинаются с префикса release-, или того, который пользователь переопределит в .ci.properties

Если при сборке пайплайн видит, что установлен релизный тэг, то он постарается создать к собранному коммиту релиз в Gitea, а также запушить собранный образ Docker в указанную в .ci.propertiesregistry.