Saplo / Dokumentacja / Stacki

Stack: Woodpecker CI

Woodpecker CI - lekki, samohostowany silnik CI/CD sterowany plikiem .woodpecker.yml w repozytorium, open source alternatywa dla GitHub Actions dla repozytoriów trzymanych w Gitea na Saplo.

Woodpecker CI - lekki, samohostowany silnik CI/CD sterowany plikiem .woodpecker.yml w repozytorium, open source alternatywa dla GitHub Actions dla repozytoriów trzymanych w Gitea na Saplo.

Środowisko

RuntimeOficjalne obrazy Docker woodpeckerci/woodpecker-server i woodpeckerci/woodpecker-agent, plus własny kontener docker:dind jako izolowany silnik budowania - pipeline'y NIE dostają dostępu do Dockera całego Boxa. Baza we współdzielonym MySQL Saplo, nginx Boxa jako reverse proxy
Zalecany planBox M+ (trzy kontenery naraz, min 2 GB RAM, min 10 GB dysku - obrazy pipeline'ów sciagaja sie od nowa przy kazdym buildzie)

Przykładowy saplo.yaml

Plik saplo.yaml w katalogu głównym repozytorium opisuje, jak Saplo ma zbudować i uruchomić aplikację. Wygeneruje go też komenda saplo init.

version: 1 name: my-ci stack: woodpecker-ci app_id: 1234

Pełny opis wszystkich pól znajdziesz na stronie Plik saplo.yaml.

Jak wdrożyć

Ten stack wdrożysz na trzy sposoby - wybierz wygodny dla siebie:

  1. Z panelu - tworzysz aplikację klikami, kod wgrywasz później przez CLI lub Git.
  2. Saplo CLI - z katalogu projektu: saplo init, potem saplo deploy.
  3. Deploy z GitHub - podłączasz repo raz, każdy push wdraża się sam.
# Najszybsza droga - z katalogu projektu $ npm install -g @saplo/cli $ saplo login $ saplo init $ saplo deploy

Dobrze wiedzieć

  • Logowanie wyłącznie przez OAuth Gitea - Woodpecker nie ma własnej rejestracji. Zanim zainstalujesz, załóż aplikację OAuth2 w swojej instancji Gitea (Ustawienia -> Aplikacje) i podaj Client ID/Secret w opcjach instalacyjnych razem z loginem administratora.
  • Po instalacji dokończ parowanie: wróć do aplikacji OAuth2 w Gitea i ustaw Redirect URI na adres Woodpeckera z dopiskiem /authorize - bez tego logowanie kończy się błędem redirect_uri_mismatch.
  • Pipeline'y budują się w odizolowanym, wewnętrznym Dockerze tej aplikacji, nie w Dockerze całego Boxa - żadna inna aplikacja w Boxie nie jest wystawiona na kod z pipeline'u.
  • Pełna instrukcja parowania z Gitea i podglądu logów trafia do pliku WOODPECKER-SETUP.txt w katalogu aplikacji.
  • Kopia (automatyczna od Box L, ręcznie snapshotem na każdym planie) obejmuje wolumen aplikacji (konfiguracja, certyfikaty wewnętrznego Dockera) oraz bazę danych.

Gotowy na deploy?

Wybierz plan Box i postaw aplikację Woodpecker CI jeszcze dziś.

Zobacz cennik