GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Azioni GitHub di Bare Metal Cloud

Introduzione

GitHub Actions è una piattaforma per l'automazione del flusso di lavoro di sviluppo software con uno strumento CI/CD integrato. La piattaforma è facile da usare e non richiede un'app di terze parti o conoscenze pregresse di esperti e una persona dedicata per la manutenzione.

Le azioni PhoenixNAP Bare Metal Cloud GitHub fungono da task runner automatizzato che reagisce agli eventi GitHub nel tuo repository git. Senza avviare un altro server, puoi ottenere la funzionalità CI/CD desiderata direttamente da GitHub.

Prerequisiti

  • Un account GitHub
  • Account Bare Metal Cloud (BMC) o phoenixNAP Client Portal (PNCP). Se sei un nuovo cliente, crea un account per Bare Metal Cloud. Fare riferimento al video di istruzioni per la creazione dell'account BMC per assistenza.

Cos'è BMC GitHub Action?

Un'azione Bare Metal Cloud GitHub è definita dal corrispondente action.yaml file. Ogni repository di azioni BMC ha un action.yaml dedicato file con il codice creato per quell'azione specifica, ad esempio create-server-bmc .

Il file yaml descrive come eseguire l'azione, definisce il file JavaScript principale, in questo caso index.js e i metadati della funzione. Puoi combinare queste azioni BMC basate su JavaScript e incorporarle nei tuoi flussi di lavoro per ottenere il livello di automazione desiderato.

Credenziali BMC GitHub

Il repository GitHub supporta variabili di ambiente segrete completamente crittografate. Quindi fai riferimento a clientid e clientsecret nel file yaml del flusso di lavoro. Le azioni BMC ottengono l'accesso al tuo segreto solo dopo averle aggiunte al tuo repository.

Dopo aver aggiunto le credenziali al tuo repository o organizzazione, i valori non sono visibili quando esegui un'azione.

Per ottenere BMC Client ID e Client Secret , accedi al portale Bare Metal Cloud e:

1. Accedi alle Credenziali API pagina.

2. Fai clic su Crea credenziali pulsante.

3. Aggiungi il nome della credenziale e descrizione facoltativa nei rispettivi campi.

4. Assegna ambito delle autorizzazioni . Seleziona la casella accanto al livello di autorizzazione che desideri concedere alle credenziali. Scegli se desideri consentire l'utilizzo di tutte le chiamate API BMC o di sola lettura.

5. Fare clic su Crea quando è pronto.

6. Riceverai il Client ID e Client Secret nella finestra di conferma.

7. Copia le credenziali e aggiungile al tuo repository GitHub come Secret. Vai a Impostazioni -> Segreti e fai clic su Aggiungi un nuovo segreto .

Repository di azioni PhoenixNAP BMC GitHub

Il nostro repository BMC GitHub Actions contiene attualmente tre azioni:

  • Crea un nuovo server Bare Metal Cloud
  • Elimina un server Bare Metal Cloud
  • Ottieni informazioni di base sul server Bare Metal Cloud

Puoi combinare azioni BMC con altre azioni per creare lavori e flussi di lavoro personalizzati.

Crea nuova azione GitHub del server BMC

Il create-server-bmc L'azione GitHub ti consente di automatizzare il processo di creazione del server. Puoi creare un flusso di lavoro che installa le applicazioni di test del software e quando hai bisogno di più risorse per avviare automaticamente un nuovo server BMC.

Questa azione restituisce il nuovo ID server e gli indirizzi IP pubblici in un elenco con valori separati da virgole. L'azione è sincrona. Tuttavia, la creazione del server e il processo di avvio sono asincroni.

Ingressi richiesti

Ogni azione GitHub ha elementi obbligatori. L'azione di creazione del server deve includere:

  • clientid :ID client dalle credenziali OAuth2 dell'applicazione.
  • clientsecret :Client Secret dalle credenziali OAuth2 dell'applicazione.
  • hostname :Nome host del server. Il nome deve seguire questo schema:1 ≤ lunghezza ≤ 100 corrispondenze ^(?=.*[a-zA-Z])([a-zA-Z0-9().-])+$

Ingressi opzionali

Input facoltativi per create-server-bmc Le azioni GitHub sono:

  • image :l'ID del sistema operativo del server. Il valore predefinito è ubuntu/bionic .
  • type :ID del tipo di server. Il valore predefinito è s1.c1.small .
  • location :ID posizione del server. Non puoi cambiare la posizione una volta creato un server. È possibile impostare questo campo su PHX o ASH. Il valore predefinito è PHX .
  • bmcentrypoint :Il punto di ingresso dell'API BMC. Il valore predefinito è https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :L'host del token BMC OIDC. Il valore predefinito è https://auth.phoenixnap.com .
  • bmctokenpath :Il percorso del token BMC OIDC. Il valore predefinito è /auth/realms/BMC/protocol/openid-connect/token .

Uscite

Il create-server-bmc action ha il seguente output:

  • id :il nuovo ID del server BMC.
  • ipaddresses :un elenco separato da virgole di indirizzi IP pubblici allegati al nuovo server.

Esempio di utilizzo per Crea azione server BMC

Di seguito è riportato l'esempio per l'azione di creazione del server:

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

Ottieni informazioni sul server BMC Azione GitHub

Il get-server-bmc action recupera le informazioni di base su un server Bare Metal Cloud. Questa azione sincrona ottiene la maggior parte dei dettagli forniti durante l'azione di creazione del server BMC.

Ingressi richiesti

Input obbligatori per get-server-bmc le azioni sono:

  • clientid :ID client dalle credenziali OAuth2 dell'applicazione.
  • clientsecret :Client Secret dalle credenziali OAuth2 dell'applicazione.
  • serverid :L'ID del server per il quale ottenere le informazioni. L'ID viene creato durante la fase di creazione del server.

Ingressi opzionali

Questi sono gli input opzionali per get-server-bmc Azione GitHub:

  • bmcentrypoint :Il punto di ingresso dell'API BMC. Il valore predefinito è https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :L'host del token BMC OIDC. Il valore predefinito è https://auth.phoenixnap.com .
  • bmctokenpath :Il percorso del token BMC OIDC. Il valore predefinito è /auth/realms/BMC/protocol/openid-connect/token .

Uscite

Il create-server-bmc action fornisce questo output:

  • id :l'ID del server BMC.
  • status :Lo stato operativo del server.
  • hostname :il nome host del server.
  • ipaddresses :un elenco separato da virgole di indirizzi IP pubblici collegati al server.

Esempio di utilizzo per Crea azione server BMC

Di seguito è riportato l'utilizzo di esempio per l'azione di creazione del server:

- 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 }}

Elimina azione GitHub del server BMC

Il delete-server-bmc L'azione GitHub elimina un server Bare Metal Cloud. L'azione è sincrona, mentre l'eliminazione e la pulizia sono asincrone.

Avviso: Utilizzare l'azione di eliminazione con estrema cautela poiché non può essere annullata e potrebbe causare la perdita di dati.

Ingressi richiesti

Input obbligatori per delete-server-bmc le azioni sono:

  • clientid :ID client dalle credenziali OAuth2 dell'applicazione.
  • clientsecret :Client Secret dalle credenziali OAuth2 dell'applicazione.
  • serverid :L'ID del server che desideri eliminare. L'ID viene creato durante la fase di creazione del server.

Ingressi opzionali

Questi sono gli input facoltativi per delete-server-bmc Azione GitHub:

  • bmcentrypoint :Il punto di ingresso dell'API BMC. Il valore predefinito è https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :L'host del token BMC OIDC. Il valore predefinito è https://auth.phoenixnap.com .
  • bmctokenpath :Il percorso del token BMC OIDC. Il valore predefinito è /auth/realms/BMC/protocol/openid-connect/token .

Uscite

Il delete-server-bmc action fornisce questo output:

  • id :l'ID di un server BMC eliminato.

Esempio di utilizzo per l'eliminazione dell'azione del server BMC

Di seguito è riportato l'utilizzo di esempio per l'azione di creazione del server:

- 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. Configura un cloud Linux su bare metal

  2. Domande frequenti su MyAccount di E2E

  3. Ubuntu in Virtualbox in Dropbox o Cloud?

  4. Lubuntu 18.10 Azioni del pulsante di accensione Lxqt?

  5. Come migrare un'installazione Linux bare metal su una macchina virtuale

Come creare supporti di ripristino ed eseguire il ripristino bare metal da Veeam Cloud Connect

Come installare OpenShift 4.9 su Bare Metal (UPI)

Installa Google Cloud SDK su Ubuntu 20.04

Come distribuire e gestire i temi Ghost utilizzando le azioni di GitHub

Installazione di Alpine (o altro Linux) su VPS o Bare Metal Server

Imposta il flusso di lavoro CI/CD con le azioni GitHub