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
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“.
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,
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)
Und führen Sie den folgenden Befehl aus:
az ad sp create-for-rbac --name "myApp" --role contributor --scopes /subscriptions/
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
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.
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`
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!