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ę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.