GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Bare-Metal-Cloud-GitHub-Aktionen

Einführung

GitHub Actions ist eine Plattform für die Automatisierung von Softwareentwicklungs-Workflows mit einem integrierten CI/CD-Tool. Die Plattform ist einfach zu bedienen und erfordert keine Drittanbieter-App oder vorheriges Expertenwissen und eine engagierte Person für die Wartung.

PhoenixNAP Bare Metal Cloud GitHub-Aktionen dienen als automatisierter Task-Runner, der auf GitHub-Ereignisse in Ihrem Git-Repository reagiert. Ohne einen weiteren Server hochzufahren, können Sie die gewünschte CI/CD-Funktionalität direkt von GitHub aus erreichen.

Voraussetzungen

  • Ein GitHub-Konto
  • Bare Metal Cloud (BMC) oder phoenixNAP Client Portal (PNCP)-Konto. Wenn Sie ein neuer Kunde sind, erstellen Sie ein Konto für Bare Metal Cloud. Weitere Informationen finden Sie in der Videoanleitung zur BMC-Kontoerstellung.

Was ist BMC GitHub Action?

Eine Bare-Metal-Cloud-GitHub-Aktion wird durch die entsprechende action.yaml definiert Datei. Jedes BMC-Aktions-Repository hat eine dedizierte action.yaml Datei mit dem Code, der für diese bestimmte Aktion erstellt wurde, z. B. create-server-bmc .

Die yaml-Datei beschreibt, wie die Aktion ausgeführt wird, definiert die Haupt-JavaScript-Datei, in diesem Fall index.js , und die Funktionsmetadaten. Sie können diese JavaScript-basierten BMC-Aktionen kombinieren und in Ihre Arbeitsabläufe integrieren, um den gewünschten Automatisierungsgrad zu erreichen.

BMC GitHub-Anmeldeinformationen

Das GitHub-Repository unterstützt vollständig verschlüsselte geheime Umgebungsvariablen. Anschließend verweisen Sie auf clientid und clientsecret in der Workflow-YAML-Datei. BMC-Aktionen erhalten erst dann Zugriff auf Ihr Geheimnis, wenn Sie sie zu Ihrem Repository hinzufügen.

Nachdem Sie Ihrem Repository oder Ihrer Organisation Anmeldeinformationen hinzugefügt haben, sind die Werte nicht sichtbar, wenn Sie eine Aktion ausführen.

So erhalten Sie die Client ID von BMC und Client Secret , melden Sie sich beim Bare-Metal-Cloud-Portal an und:

1. Navigieren Sie zu den API-Anmeldedaten Seite.

2. Klicken Sie auf Create Credentials Schaltfläche.

3. Fügen Sie den Berechtigungsnamen hinzu und optional Beschreibung in den entsprechenden Feldern.

4. Weisen Sie Berechtigungsbereiche zu . Aktivieren Sie das Kontrollkästchen neben der Berechtigungsstufe, die Sie den Anmeldeinformationen erteilen möchten. Wählen Sie aus, ob Sie die Verwendung aller oder schreibgeschützter BMC-API-Aufrufe zulassen möchten.

5. Klicken Sie auf Erstellen wenn bereit.

6. Sie erhalten die Client ID und Client Secret im Bestätigungsfenster.

7. Kopieren Sie die Anmeldeinformationen und fügen Sie sie Ihrem GitHub-Repository als Secret hinzu. Gehen Sie zu Einstellungen -> Geheimnisse und klicken Sie auf Neues Secret hinzufügen .

PhoenixNAP BMC GitHub Actions Repository

Unser BMC GitHub Actions-Repository enthält derzeit drei Aktionen:

  • Erstellen Sie einen neuen Bare-Metal-Cloud-Server
  • Löschen Sie einen Bare-Metal-Cloud-Server
  • Grundlegende Bare-Metal-Cloud-Serverinformationen erhalten

Sie können BMC-Aktionen mit anderen Aktionen kombinieren, um Ihre benutzerdefinierten Jobs und Workflows zu erstellen.

Neue BMC-Server-GitHub-Aktion erstellen

Der create-server-bmc Mit der GitHub-Aktion können Sie den Servererstellungsprozess automatisieren. Sie können einen Workflow erstellen, der Softwaretestanwendungen installiert und automatisch einen neuen BMC-Server hochfährt, wenn Sie mehr Ressourcen benötigen.

Diese Aktion gibt die neue Server-ID und öffentliche IP-Adressen in einer Liste mit kommagetrennten Werten aus. Die Aktion ist synchron. Die Servererstellung und der Startvorgang sind jedoch asynchron.

Erforderliche Eingaben

Jede GitHub-Aktion hat obligatorische Elemente. Die Aktion zum Erstellen des Servers muss Folgendes enthalten:

  • clientid :Client-ID aus den OAuth2-Anmeldedaten der Anwendung.
  • clientsecret :Client-Secret aus den OAuth2-Anmeldeinformationen der Anwendung.
  • hostname :Hostname des Servers. Der Name muss folgendem Muster folgen:1 ≤ Länge ≤ 100 entspricht ^(?=.*[a-zA-Z])([a-zA-Z0-9().-])+$

Optionale Eingaben

Optionale Eingaben für create-server-bmc GitHub-Aktionen sind:

  • image :Die Betriebssystem-ID des Servers. Standardmäßig ubuntu/bionic .
  • type :Servertyp-ID. Standardmäßig s1.c1.small .
  • location :Serverstandort-ID. Sie können den Standort nicht ändern Sobald ein Server erstellt wurde. Sie können dieses Feld auf PHX oder ASH setzen. Der Standardwert ist PHX .
  • bmcentrypoint :Der Einstiegspunkt der BMC-API. Standardmäßig https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :Der BMC-OIDC-Token-Host. Standardmäßig https://auth.phoenixnap.com .
  • bmctokenpath :Der BMC-OIDC-Tokenpfad. Standardmäßig /auth/realms/BMC/protocol/openid-connect/token .

Ausgänge

Der create-server-bmc Aktion hat die folgende Ausgabe:

  • id :Die neue BMC-Server-ID.
  • ipaddresses :Eine durch Kommas getrennte Liste öffentlicher IP-Adressen, die an den neuen Server angehängt sind.

Beispielverwendung für die Aktion „BMC-Server erstellen“

Unten ist das Beispiel für die Aktion "Server erstellen":

- name: CreateBMCServer step
  uses: phoenixnap-github-actions/create-server-bmc 
  id: createserver
  with:
    clientid: ${{secrets.BMC_CLIENT_ID}}
    clientsecret: ${{secrets.BMC_CLIENT_SECRET}}
    hostname: "bmc-gha-test"
    image: "ubuntu/bionic"
    location: "ASH"
    type: "s1.c1.small"
    description: "This server is created using GitHub Actions."

GitHub-Aktion zum Abrufen von BMC-Serverinformationen

Der get-server-bmc Aktion ruft grundlegende Informationen über einen Bare-Metal-Cloud-Server ab. Diese synchrone Aktion erhält die meisten Details, die während der Aktion zum Erstellen des BMC-Servers bereitgestellt werden.

Erforderliche Eingaben

Erforderliche Eingaben für get-server-bmc Aktion sind:

  • clientid :Client-ID aus den OAuth2-Anmeldedaten der Anwendung.
  • clientsecret :Client-Secret aus den OAuth2-Anmeldeinformationen der Anwendung.
  • serverid :Die ID des Servers, für den die Informationen abgerufen werden sollen. Die ID wird während des Schritts zum Erstellen des Servers erstellt.

Optionale Eingaben

Dies sind die optionalen Eingaben für get-server-bmc GitHub-Aktion:

  • bmcentrypoint :Der Einstiegspunkt der BMC-API. Standardmäßig https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :Der BMC-OIDC-Token-Host. Standardmäßig https://auth.phoenixnap.com .
  • bmctokenpath :Der BMC-OIDC-Tokenpfad. Standardmäßig /auth/realms/BMC/protocol/openid-connect/token .

Ausgänge

Der create-server-bmc Aktion liefert diese Ausgabe:

  • id :Die BMC-Server-ID.
  • status :Der Betriebsstatus des Servers.
  • hostname :Der Hostname des Servers.
  • ipaddresses :Eine durch Kommas getrennte Liste öffentlicher IP-Adressen, die dem Server zugeordnet sind.

Beispielverwendung für die Aktion „BMC-Server erstellen“

Unten ist die Beispielverwendung für die Aktion "Server erstellen":

- name: GetServer step
  uses: phoenixnap-github-actions/get-server-bmc  
  id: getserver
  with:
    clientid: ${{secrets.BMC_CLIENT_ID}}
    clientsecret: ${{secrets.BMC_CLIENT_SECRET}}
    serverid: ${{ steps.createserver.outputs.id }}

BMC-Server-GitHub-Aktion löschen

Der delete-server-bmc Die GitHub-Aktion löscht einen Bare-Metal-Cloud-Server. Die Aktion ist synchron, während Löschen und Aufräumen asynchron sind.

Warnung: Verwenden Sie die Löschaktion mit äußerster Vorsicht, da sie nicht rückgängig gemacht werden kann und zu Datenverlust führen kann.

Erforderliche Eingaben

Erforderliche Eingaben für delete-server-bmc Aktion sind:

  • clientid :Client-ID aus den OAuth2-Anmeldedaten der Anwendung.
  • clientsecret :Client-Secret aus den OAuth2-Anmeldeinformationen der Anwendung.
  • serverid :Die ID des Servers, den Sie löschen möchten. Die ID wird während des Schritts zum Erstellen des Servers erstellt.

Optionale Eingaben

Dies sind die optionalen Eingaben für delete-server-bmc GitHub-Aktion:

  • bmcentrypoint :Der Einstiegspunkt der BMC-API. Standardmäßig https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :Der BMC-OIDC-Token-Host. Standardmäßig https://auth.phoenixnap.com .
  • bmctokenpath :Der BMC-OIDC-Tokenpfad. Standardmäßig /auth/realms/BMC/protocol/openid-connect/token .

Ausgänge

Der delete-server-bmc Aktion liefert diese Ausgabe:

  • id :Die ID eines gelöschten BMC-Servers.

Beispielverwendung für die Aktion „BMC-Server löschen“

Unten ist die Beispielverwendung für die Aktion "Server erstellen":

- name: DeleteServer step
  uses: phoenixnap-github-actions/delete-server-bmc 
  id: deleteserver
  with:
    clientid: ${{secrets.BMC_CLIENT_ID}}
    clientsecret: ${{secrets.BMC_CLIENT_SECRET}}
    serverid: ${{ steps.createserver.outputs.id }}

Ubuntu
  1. Richten Sie eine Linux-Cloud auf Bare Metal ein

  2. Häufig gestellte Fragen zu MyAccount von E2E

  3. Ubuntu in Virtualbox in Dropbox oder Cloud?

  4. Lubuntu 18.10 Lxqt Power-Button-Aktionen?

  5. So migrieren Sie eine Bare-Metal-Linux-Installation auf eine virtuelle Maschine

So erstellen Sie Wiederherstellungsmedien und führen eine Bare-Metal-Wiederherstellung von Veeam Cloud Connect durch

So installieren Sie OpenShift 4.9 auf Bare Metal (UPI)

Installieren Sie Google Cloud SDK auf Ubuntu 20.04

So stellen Sie Ghost-Designs mithilfe von GitHub-Aktionen bereit und verwalten sie

Alpine (oder anderes Linux) auf VPS oder Bare Metal Server installieren

Richten Sie den CI/CD-Workflow mit GitHub-Aktionen ein