Heim > Web-Frontend > js-Tutorial > Hauptteil

Hinweise für Entwickler: Konfigurieren Sie eine CI/CD-Pipeline für Ihr Node-JS-Projekt mithilfe von Azure- und Github-Aktionen

PHPz
Freigeben: 2024-07-17 07:47:48
Original
1078 Leute haben es durchsucht

Jemand hat auf Twitter gepostet, dass Ingenieure, wenn sie etwas tun, darüber schreiben sollten, wie sie es erreichen. Dies kann anderen Ingenieuren die Zeit ersparen, nach einer Lösung zu suchen. Und deshalb sind wir hier.

In diesem Artikel würden wir eine CI/CD-Pipeline für ein Node-JS-Projekt unter Verwendung von Azure als Cloud-Anbieter und GitHub-Aktionen konfigurieren.

Zuallererst

1. Erstellen Sie den App Service auf Microsoft Azure.

  • Melden Sie sich beim Microsoft Azure-Portal an oder erstellen Sie ein Konto, falls Sie noch keins haben. (Zum Zeitpunkt des Verfassens dieses Artikels gewähren sie neuen Konten ein Guthaben von bis zu 200 $.

  • Suchen Sie als Nächstes nach „Azure App“.
    A view of the azure portal showing the app service in the dropdown of services

  • Wählen Sie „Erstellen“ > WebApp. Füllen Sie dann die Details im Formular aus. Wählen Sie den Laufzeitstapel als Node xx LTS aus. Erstellen Sie weiter bis.

Am Ende des Prozesses sollten Sie eine Web-App haben, die über die Microsoft-Standardseite verfügt.

Als nächstes,

2. Generieren Sie die Azure-Anmeldeinformationen für Github-Aktionen.

Hier sind mehrere Methoden dokumentiert, aber wir verwenden die Service-Principal-Option, weil sie recht einfach ist.

Öffnen Sie die Azure-CLI (siehe Abbildung unten)
Image of the azure portal indicating the location of the azure cli tool

Und führen Sie den folgenden Befehl aus:

az ad sp create-for-rbac --name "myApp" --role contributor --scopes /subscriptions//resourceGroups//providers/Microsoft.Web/sites / --json-auth

Ersetzen Sie , und durch die richtigen Details aus Ihrem Azure App Service-Dashboard. „myApp“ ist der Name des Dienstgebers.

Der Befehl generiert eine Ausgabe wie diese.

{
„clientId“: „“,
„clientSecret“: „“,
„subscriptionId“: „“,
„tenantId“: „“,
(...)
}

Dies wird später verwendet.

Endlich zu Github

3. Geheimnis hinzufügen, Github-Aktion erstellen und auslösen.

  • Navigieren Sie im Repository zu Einstellungen > Geheimnisse und Variablen > Aktionen.

  • Klicken Sie auf „Neues Repository-Geheimnis hinzufügen“. Fügen Sie die JSON-Ausgabe unverändert in das Feld „Geheimnis“ und „AZURE_CREDENTIALS“ in das Feld „Name“ ein.

  • Navigieren Sie zur Registerkarte „Aktionen“, um dem Projekt einen Github-Aktionsablauf hinzuzufügen. Suchen Sie nach „Node.js in Azure Web App bereitstellen“ und klicken Sie auf „Konfigurieren“, um fortzufahren.

    • Eine Workflowdatei, azure-webapps-node.yml, wird erstellt, die vor dem Festschreiben von Änderungen bearbeitet werden kann.

Bearbeiten Sie die Datei so, dass sie wie folgt aussieht:

`am:
drücken:
Zweige: [ "entwickeln" ]
Workflow_Dispatch:

env:
AZURE_WEBAPP_NAME: # Setzen Sie dies auf den Namen Ihrer Anwendung
AZURE_WEBAPP_PACKAGE_PATH: '.' # Legen Sie dies auf den Pfad zu Ihrem Web-App-Projekt fest, standardmäßig auf das Repository-Stammverzeichnis
NODE_VERSION: '' # setze dies auf die zu verwendende Knotenversion

Berechtigungen:
Inhalt: lesen

Jobs:
Erstellen und Bereitstellen:
läuft weiter: ubuntu-latest
Schritte:
- Name: 'Checkout Github Action'
verwendet: actions/checkout@v4

- uses: azure/login@v1
  with:
    creds: ${{ secrets.AZURE_CREDENTIALS }}

- name: Setup Node ${{ env.NODE_VERSION }}
  uses: actions/setup-node@v4
  with:
    node-version: ${{ env.NODE_VERSION }}
    cache: 'npm'

- name: npm install, build, and test
  run: |
    npm install

- uses: azure/webapps-deploy@v3
  with:
    app-name: ${{ env.AZURE_WEBAPP_NAME }}
    package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}

# Azure logout 
- name: logout
  run: |
    az logout`
Nach dem Login kopieren

Die Workflowdateien werden beim Push an den Entwicklungszweig ausgelöst und melden sich mit den Anmeldeinformationen, die Sie zuvor in den Geheimnissen gespeichert haben, beim Azure-Portal an und fahren dann mit der Erstellung und Bereitstellung fort.

Denken Sie daran, den Web-App-Namen und die Knotenversion entsprechend zu bearbeiten.

Lösen Sie abschließend den Workflow für den ersten Lauf aus. Die Standardwebseite in Ihrem Azure-Portal sollte verschwinden und Sie haben Ihre Web-App für eine CI/CD-Pipeline konfiguriert, die beim Push an den Entwicklungszweig ausgelöst wird.

Ich hoffe, das hilft einem anderen Ingenieur.

Das obige ist der detaillierte Inhalt vonHinweise für Entwickler: Konfigurieren Sie eine CI/CD-Pipeline für Ihr Node-JS-Projekt mithilfe von Azure- und Github-Aktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!