Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich GitHub Actions zum automatisierten Packen und Bereitstellen von PHP-Programmen?

Wie verwende ich GitHub Actions zum automatisierten Packen und Bereitstellen von PHP-Programmen?

王林
王林Original
2023-07-31 14:28:50914Durchsuche

Wie verwende ich GitHub Actions für die automatisierte Paketierung und Bereitstellung von PHP-Programmen?

Einführung
Mit dem Aufkommen von Cloud Computing und DevOps sind Automatisierung und kontinuierliche Integration der Softwareentwicklung immer wichtiger geworden. GitHub Actions ist ein leistungsstarkes Automatisierungstool, das Entwicklern dabei hilft, eine schnelle und effiziente Softwareentwicklung und -bereitstellung zu erreichen. In diesem Artikel konzentrieren wir uns auf die Verwendung von GitHub Actions zum automatisierten Packen und Bereitstellen von PHP-Programmen, um die Entwicklungseffizienz zu verbessern.

1. GitHub Actions-Workflow einrichten
Um GitHub Actions zu verwenden, müssen Sie zunächst einen Ordner mit dem Namen „.github/workflows“ im Stammverzeichnis des Projekts erstellen. Erstellen Sie in diesem Ordner eine Datei im YAML-Format und nennen Sie sie „ci.yml“. In diesem Dokument werden der Arbeitsablauf und spezifische Schritte definiert.

Das Folgende ist der Inhalt einer Beispiel-ci.yml-Datei:

name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v2

    - name: Set up PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: '7.4'

    - name: Install dependencies
      run: composer install

    - name: Run tests
      run: composer test

    - name: Build application
      run: composer build

    - name: Deploy to server
      uses: easingthemes/ssh-deploy@v2
      with:
        server: ${{ secrets.SERVER }}
        port: ${{ secrets.PORT }}
        username: ${{ secrets.USERNAME }}
        password: ${{ secrets.PASSWORD }}
        source: 'dist/'
        target: '/var/www/html'

Im obigen Beispiel haben wir einen Job namens „build“ definiert, der eine Reihe von Schritten enthält. Zuerst checken wir den Code aus dem Code-Repository aus, richten dann die PHP-Umgebung ein, installieren Abhängigkeiten, führen Tests durch, erstellen die Anwendung und stellen schließlich die erstellte Anwendung auf dem Server bereit.

Es ist erwähnenswert, dass der Bereitstellungsschritt eine Aktion namens „ssh-deploy“ verwendet, ein Open-Source-Bereitstellungstool, das uns bei der Bereitstellung von Code auf einem Remote-Server helfen kann. Wir müssen einige Umgebungsvariablen in den „Einstellungen“ des GitHub-Repositorys festlegen, die während der Bereitstellung verwendet werden sollen. Beispielsweise müssen wir die Adresse, den Port, den Benutzernamen, das Passwort und andere Informationen des Servers festlegen.

2. Code-Paketierung und -Bereitstellung
Im Workflow von GitHub Actions können wir Code-Paketierung und -Bereitstellung implementieren, indem wir verschiedene Befehle ausführen. Der spezifische Implementierungsprozess variiert von Projekt zu Projekt. Das folgende Beispiel ist eine gängige Praxis:

# 打包
composer build

# 部署
uses: easingthemes/ssh-deploy@v2
with:
  server: ${{ secrets.SERVER }}
  port: ${{ secrets.PORT }}
  username: ${{ secrets.USERNAME }}
  password: ${{ secrets.PASSWORD }}
  source: 'dist/'
  target: '/var/www/html'

Wir verwenden zunächst den Composer-Befehl, um die Anwendung zu erstellen (Composer Build) und die erforderlichen Verpackungsdateien zu generieren. Verwenden Sie dann die Aktion „ssh-deploy“, um die gepackten Dateien auf dem Remote-Server bereitzustellen. Es ist zu beachten, dass wir Umgebungsvariablen verwenden, um serverbezogene Informationen während des Bereitstellungsprozesses zu speichern.

Bevor Sie die Bereitstellungsschritte durchführen, stellen Sie sicher, dass die richtigen Umgebungsvariablen wie Serveradresse, Port, Benutzername und Passwort festgelegt sind. Diese Umgebungsvariablen können unter „Einstellungen“ – „Geheimnisse“ des GitHub-Repositorys festgelegt werden.

3. Aktivieren Sie GitHub Actions
Sobald wir die Definition des Workflows sowie die Verpackung und Bereitstellung des Codes abgeschlossen haben, können wir GitHub Actions aktivieren, um diese Aufgaben zu automatisieren.

Im Reiter „Aktionen“ der GitHub-Warehouse-Seite sehen wir den definierten Workflow „CI“. Wenn es grau ist, bedeutet dies, dass der Workflow nicht aktiviert ist. Wenn es grün ist, bedeutet dies, dass der Workflow aktiviert ist.

Wenn wir einen Code-Commit (Push) durchführen, führt GitHub Actions automatisch den Workflow aus und führt die Schritte aus. Wir können das Laufprotokoll und die Ausführung jedes Schritts auf der Workflow-Seite „CI“ unter der Registerkarte „Aktionen“ einsehen.

Durch die Aktivierung von GitHub Actions können wir eine automatisierte Paketierung und Bereitstellung von PHP-Programmen realisieren und so die Entwicklungseffizienz und Bereitstellungsgeschwindigkeit verbessern. Es ist keine manuelle Arbeit erforderlich und der Workflow wird automatisch bei jeder Codeübermittlung ausgelöst, was den Workflow des Entwicklers vereinfacht und gleichzeitig das Risiko menschlicher Fehler verringert.

Fazit
Dieser Artikel stellt vor, wie man GitHub Actions für die automatisierte Paketierung und Bereitstellung von PHP-Programmen verwendet. Indem wir den Workflow definieren und die entsprechenden Schritte festlegen, können wir das Packen und Bereitstellen von Code einfach automatisieren. Gleichzeitig haben wir auch erwähnt, wie man das Open-Source-Bereitstellungstool „ssh-deploy“ zum Bereitstellen von Remote-Servern verwendet.

GitHub Actions unterstützt nicht nur PHP-Projekte, sondern kann auch für die Projektentwicklung und -bereitstellung in anderen Sprachen verwendet werden. Mit diesem leistungsstarken Tool können sich Entwickler stärker auf die Codeentwicklung und -optimierung konzentrieren und so die Arbeitseffizienz und Softwarequalität verbessern.

Das obige ist der detaillierte Inhalt vonWie verwende ich GitHub Actions zum automatisierten Packen und Bereitstellen von PHP-Programmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn