Deploy
Att deploya betyder att lägga ut ny kod i ditt projekt. Det finns tre vägar — terminalen, en zip i panelen och GitHub — och alla går genom samma kedja: ögonblicksbild först, hälsokoll efter, och tillbaka av sig själv om projektet inte svarar.
#Vad som får skickas upp
Ett deploypaket får bara innehålla de här mapparna:
| Mapp | Vad händer |
|---|---|
pb_hooks/ | Ersätter din serverkod |
pb_migrations/ | Ersätter dina migrationer. Nya migrationer körs när projektet startar om |
pb_public/ | Ersätter din frontend |
- En mapp som finns i paketet ersätter projektets mapp helt. En mapp som inte finns i paketet rörs inte. Skickar du bara
pb_public/ligger din serverkod kvar. pb_data/nekas alltid. Databasen och uppladdade filer ändras aldrig av en deploy. Att flytta in en befintligpb_dataKOMMER.- Allt annat — andra mappar, symlänkar, absoluta sökvägar,
..— gör att hela paketet nekas och ingenting ändras. - Gränser: högst 20 000 filer, 500 MB uppackat och 50 MB per fil.
- Har zippen en gemensam rotmapp (till exempel
mitt-projekt/) tas den bort automatiskt.
Byggblocken ligger i ett eget lager och påverkas aldrig av en deploy — se Alla byggblock.
#Deploynycklar
En deploynyckel låser upp ett projekt och kan bara deploya — inget annat. Skapa den under fliken Deploy. Nyckeln visas en gång; vi sparar bara en hash av den. Spara den som hemlighet, till exempel ZKRINET_TOKEN i GitHub. Högst tio nycklar per projekt. Återkalla en nyckel du inte använder längre.
#1. Från terminalen
Kör i projektmappen (där pb_hooks/, pb_migrations/ och pb_public/ ligger). Kräver Node 18 eller senare, inga andra beroenden.
ZKRINET_TOKEN=zk_dep_… npx https://zkrinet.com/cli/zkrinet.tgz deploy
Annan mapp eller ett meddelande som syns i loggen:
ZKRINET_TOKEN=zk_dep_… npx https://zkrinet.com/cli/zkrinet.tgz deploy ./min-app -m "ny startsida"
Kommandot packar mapparna, laddar upp dem och följer deployen tills den är ute eller återställd. Publicering av CLI:t som npx zkrinet KOMMER.
#2. Zip i panelen
Fliken Deploy → Välj zip och lägg ut. Zippen ska innehålla mapparna ovan. Samma granskning och samma kedja som i terminalen.
#3. Från GitHub
Lägg filen nedan i repot som .github/workflows/zkrinet.yml och deploynyckeln som repo-hemligheten ZKRINET_TOKEN. Varje push till main deployar.
name: Zkrinet
on: { push: { branches: [main] } }
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 20 }
- run: npx --yes https://zkrinet.com/cli/zkrinet.tgz deploy
env: { ZKRINET_TOKEN: ${{ secrets.ZKRINET_TOKEN }} }
Rullas en deploy från GitHub tillbaka får du ett larm — ingen sitter och tittar på en automatisk deploy.
#Vad som händer under en deploy
- Paketet hämtas och kontrolleras mot sin SHA-256 — det som lades ut är exakt det som laddades upp.
- Granskningen nekar hela paketet vid minsta avvikelse (se ovan).
- En ögonblicksbild av hela projektet tas — databas, filer och kod. Det är återställningspunkten.
- Koden läggs in och projektet startas om. Nya migrationer körs.
- Hälsokollen: projektet måste svara inom ungefär 30 sekunder. Finns
pb_public/index.htmlkontrolleras också att startsidan verkligen serveras. - Svarar projektet är deployen ute. Svarar det inte rullas allt tillbaka till ögonblicksbilden — även databasen, om en migration hann ändra den — och projektet startar igen som före deployen.
Loggen för varje deploy syns under fliken Deploy, med orsaken om den rullades tillbaka.
#Vanliga frågor
Min deploy rullades tillbaka. Varför? Projektet svarade inte efter omstarten. Vanligaste orsaken är ett fel i en hook eller en migration som kraschar vid start. Loggen under Deploy visar de sista raderna från PocketBase. Testa lokalt med ./pocketbase serve och samma version (0.40.4).
Raderas min data om en deploy rullas tillbaka? Projektet återställs till läget precis före deployen. Hann någon skriva data under de sekunder deployen pågick försvinner just det.
Kan jag rulla tillbaka till en tidigare deploy själv? Vi sparar de tre senaste ögonblicksbilderna från deployer. En knapp för att gå tillbaka till en av dem KOMMER. Fram till dess: lägg ut den tidigare versionen av koden igen.
Kan jag deploya bara frontenden? Ja. Skicka bara pb_public/ — serverkoden och migrationerna rörs inte.
Startsidan visar Zkrinets sida i stället för min. Du har ingen pb_public/index.html än. Lägg ut den, så syns din.
Varför syns inte min nya CSS direkt? Filer utan egen Cache-Control får private, no-cache: webbläsaren frågar om filen ändrats och får ett snabbt svar om den inte gjort det. Ser du ändå gammal kod: ladda om sidan hårt.