Docker: Konfiguracja workflow GitHub Actions
Ta dokumentacja jest częścią przewodnika Wdrażanie za pomocą GitHub Actions. Pełny przewodnik znajdziesz tutaj: Dowiedz się, jak wdrażać kontenery Docker przy użyciu GitHub Actions.
Witamy w dokumentacji Stackhero
Stackhero oferuje gotową do użycia platformę Docker cloud CaaS (Containers as a Service), zaprojektowaną z myślą o szybkich i niezawodnych wdrożeniach kontenerów:
- Wdrażaj do produkcji za pomocą pojedynczego polecenia
docker-compose up. Nie jest wymagana żadna dodatkowa konfiguracja: po prostu uruchom swoje kontenery.- Wybierz własną nazwę domeny, automatycznie zabezpieczoną przez HTTPS (na przykład: https://api.twoja-firma.com, https://www.twoja-firma.com lub https://backoffice.twoja-firma.com).
- Korzystaj z wysokiej wydajności i solidnego poziomu bezpieczeństwa na prywatnej, dedykowanej infrastrukturze.
- Aktualizuj środowisko jednym kliknięciem, co zapewnia prostą i bezproblemową konserwację.
Twoje kontenery mogą działać w środowisku produkcyjnym już w około pięć minut. Stackhero zarządza infrastrukturą, aktualizacjami i bezpieczeństwem za Ciebie, dzięki czemu możesz skupić się na dostarczaniu swoich aplikacji. Dowiedz się więcej o hostingu Docker CaaS w chmurze.
Na swoim komputerze przejdź do katalogu repozytorium Git i utwórz katalog .github/workflows. W tym katalogu utwórz plik o nazwie deploy-to-stackhero.yml z następującą zawartością:
# File: .github/workflows/deploy-to-stackhero.yml
name: Deploy to Stackhero
description: Deploy branch "${{ github.ref_name }}" to Stackhero
on:
push:
# These branches trigger the deploy action on push.
# Be sure to create an environment matching the branch name in GitHub (under Settings > Environments).
# Then add the secret STACKHERO_CERTIFICATES_PASSWORD and variable STACKHERO_ENDPOINT in that environment.
branches: [ "production", "staging" ]
jobs:
Deploy:
environment: ${{ github.ref_name }}
runs-on: ubuntu-latest
steps:
- uses: stackhero-io/github-actions-deploy-docker-containers-to-stackhero@v1
with:
# The secret STACKHERO_CERTIFICATES_PASSWORD and the variable STACKHERO_ENDPOINT should be defined in the corresponding branch environment on GitHub.
certificates_password: ${{ secrets.STACKHERO_CERTIFICATES_PASSWORD }}
endpoint: ${{ vars.STACKHERO_ENDPOINT }}
# deployment_command is optional. You can use it if you need to customize the Docker Compose command.
deployment_command: ${{ vars.STACKHERO_DEPLOY_COMMAND }}
Zatwierdź zmiany poleceniem:
git add -A .
git commit -m "Add GitHub Actions to deploy to Stackhero"
Aby utworzyć gałąź produkcyjną, wykonaj:
git checkout -b production
Następnie wypchnij gałąź produkcyjną do GitHub:
git push --set-upstream origin production
Po wypchnięciu kodu GitHub Actions automatycznie wdroży go na Twojej instancji Stackhero dla produkcji. Postęp wdrożenia możesz śledzić w zakładce Actions w swoim projekcie GitHub.
GitHub Actions, które wdrożyły na produkcję
To wszystko. Twoja konfiguracja jest gotowa do automatycznego wdrażania kodu na produkcję za pomocą GitHub Actions.