Git deploy na hostingu — automatyczny deployment przez git push
Opublikowano: 8 kwietnia 2026 · Kategoria: Hosting
Git deploy to automatyczne wdrożenie aplikacji na serwer uruchamiane przez komendę git push — bez ręcznego kopiowania plików przez FTP, z pełną historią zmian i możliwością cofnięcia do
poprzedniej wersji w kilka sekund.
Krótka odpowiedź: Na hostingu z SSH możesz deployować przez
git push używając bare repo + post-receive hook. Bez SSH: użyj
GitHub Actions + rsync — działa z każdym hostingiem. Obie metody eliminują ręczne
wgrywanie plików przez FTP.
Najprostsze rozwiązanie — nie wymaga konfiguracji na serwerze, działa przez klucze SSH:
# .github/workflows/deploy.yml
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy via rsync
uses: easingthemes/ssh-deploy@main
with:
# Dodaj w GitHub: Settings → Secrets → Actions
SSH_PRIVATE_KEY: ${{
secrets.SSH_PRIVATE_KEY }}
REMOTE_HOST: ${{
secrets.SSH_HOST }}
REMOTE_USER: ${{
secrets.SSH_USER }}
SOURCE: ./
TARGET:
/home/uzytkownik/public_html/
EXCLUDE: ".git/, node_modules/,
.env"
Bezpieczeństwo kluczy SSH: Wygeneruj osobny klucz SSH tylko do deployu:
ssh-keygen -t ed25519 -C "github-deploy" -f ~/.ssh/github_deploy. Dodaj klucz
publiczny do ~/.ssh/authorized_keys na serwerze, a klucz prywatny jako GitHub Secret.
Nigdy nie używaj klucza głównego do CI/CD.
Jeśli planujesz regularne deploye, sprawdź przed zakupem czy hosting oferuje SSH (nie tylko
FTP). Dostęp SSH otwiera też możliwość uruchamiania Composera, npm, skryptów post-deploy i
zarządzania kluczami. Przy porównywaniu ofert sprawdź też cenę po odnowieniu — atrakcyjna
cena promocyjna na rok pierwszy to norma, ale różnica wobec ceny regularnej bywa znaczna.
Najczęstsze pytania
Czy mogę deployować aplikację przez git push na hostingu współdzielonym?
›
Tak — jeśli hosting obsługuje SSH i Git CLI. Metoda: (1) Na serwerze utwórz bare repo (git init --bare ~/repos/moja-strona.git); (2) Dodaj post-receive hook kopiujący pliki do public_html/; (3) Lokalnie dodaj remote: git remote add hosting ssh://uzytkownik@serwer/~/repos/moja-strona.git; (4) Deploy: git push hosting main. LH.pl, CyberFolks i zenbox obsługują Git przez SSH. Sprawdź w panelu czy Git jest dostępny i jakiej wersji.
Jak używać GitHub Actions do deployu na hosting współdzielony?
›
GitHub Actions + rsync przez SSH to najpopularniejsza metoda. Workflow (.github/workflows/deploy.yml): (1) Trigger: push do branch main; (2) Steps: checkout, build (npm run build / composer install); (3) Deploy przez rsync: rsync -avz --delete ./dist/ uzytkownik@serwer:~/public_html/. Wymagania: GitHub Secret SSH_PRIVATE_KEY (klucz prywatny), SSH_HOST (adres serwera), SSH_USER. Alternatywa: action "easingthemes/ssh-deploy" lub "appleboy/ssh-action". Metoda działa z każdym hostingiem z SSH niezależnie od panelu.
Co to jest bare repo i post-receive hook?
›
Bare repo (git init --bare) to repozytorium bez working directory — przechowuje tylko historię commitów. Używane jako "remote" na serwerze. Post-receive hook to skrypt Shell uruchamiany automatycznie po każdym git push. Przykład hooka: #!/bin/bash; GIT_WORK_TREE=/home/user/public_html GIT_DIR=/home/user/repos/site.git git checkout -f main. Zrób go wykonywalnym: chmod +x hooks/post-receive. Hook może też uruchamiać composer install, npm run build lub restarty procesów PM2.
Czy git deploy działa dla WordPress na hostingu?
›
Tak, ale z ograniczeniami. W git repozytorium trzymaj własny kod (motyw, wtyczki, wp-content/themes/moj-motyw/) — NIE core WordPress ani wp-content/uploads/. W .gitignore: wp-config.php (zawiera hasła DB), wp-content/uploads/, /vendor/. Workflow: git push deployuje tylko zmiany w motywie/wtyczkach. WordPress core i media pozostają na serwerze nienaruszone. Przy WooCommerce dodaj wp-content/woocommerce-logs/ do .gitignore.
Szybkie przejście do ofert związanych z tym tematem
Wybraliśmy oferty i strony z kodami rabatowymi, które najczęściej pasują do tego scenariusza użycia.
Twoja prywatność = Twoja decyzja. Używamy anonimowych plików cookies Google Analytics,
żeby wiedzieć które porównania hostingów są dla Ciebie przydatne. Bez Twojej zgody nie uruchamiamy
żadnych skryptów śledzących — domyślnie wszystko jest wyłączone.
Szczegóły w polityce prywatności.