Úvod
GitHub Actions je platforma pro automatizaci pracovního postupu vývoje softwaru s vestavěným nástrojem CI/CD. Platforma se snadno používá a nevyžaduje aplikaci třetí strany ani předchozí odborné znalosti a specializovanou osobu pro údržbu.
Akce GitHubu PhoenixNAP Bare Metal Cloud slouží jako automatizovaný spouštěč úloh, který reaguje na události GitHubu ve vašem úložišti git. Bez spouštění dalšího serveru můžete požadované funkce CI/CD dosáhnout přímo z GitHubu.
Předpoklady
- Účet GitHub
- Účet Bare Metal Cloud (BMC) nebo phoenixNAP Client Portal (PNCP). Pokud jste nový klient, vytvořte si účet pro Bare Metal Cloud. Pomoc najdete ve videu s pokyny k vytvoření účtu BMC.
Co je BMC GitHub Action?
Akce Bare Metal Cloud GitHub je definována odpovídajícím action.yaml soubor. Každé úložiště akcí BMC má vyhrazený soubor action.yaml soubor s kódem vytvořeným pro danou konkrétní akci, například create-server-bmc .
Soubor yaml popisuje, jak akci spustit, definuje hlavní soubor JavaScriptu, v tomto případě index.js a metadata funkce. Tyto akce BMC založené na JavaScriptu můžete kombinovat a začlenit je do svých pracovních postupů, abyste dosáhli požadované úrovně automatizace.
Přihlašovací údaje BMC GitHub
Úložiště GitHub podporuje plně šifrované tajné proměnné prostředí. Poté odkazujete na clientid
a clientsecret
v souboru yaml pracovního postupu. Akce BMC získají přístup k vašemu tajemství pouze tehdy, když je přidáte do svého úložiště.
Jakmile do svého úložiště nebo organizace přidáte přihlašovací údaje, hodnoty se při spuštění akce nezobrazí.
Chcete-li získat BMC Client ID
a Client Secret
, přihlaste se na portál Bare Metal Cloud a:
1. Přejděte na Přihlašovací údaje rozhraní API stránku.
2. Klikněte na Vytvořit přihlašovací údaje tlačítko.
3. Přidejte jméno pověření a volitelný popis v příslušných polích.
4. Přiřaďte rozsahy oprávnění . Zaškrtněte políčko vedle úrovně oprávnění, kterou chcete udělit přihlašovacím údajům. Vyberte, zda chcete povolit použití všech volání BMC API nebo jen pro čtení.
5. Klikněte na Vytvořit až budete připraveni.
6. Získáte Client ID
a Client Secret
v potvrzovacím okně.
7. Zkopírujte přihlašovací údaje a přidejte je do svého úložiště GitHub jako tajné. Přejděte do Nastavení -> Tajemství a klikněte na Přidat nový tajný klíč .
PhoenixNAP BMC GitHub Actions Repository
Naše úložiště BMC GitHub Actions aktuálně obsahuje tři akce:
- Vytvořte nový server Bare Metal Cloud
- Smazat server Bare Metal Cloud
- Získejte základní informace o serveru Bare Metal Cloud
Akce BMC můžete zkombinovat s jinými akcemi a vytvořit si vlastní úlohy a pracovní postupy.
Vytvořit novou akci BMC Server GitHub
create-server-bmc Akce GitHub vám umožňuje automatizovat proces vytváření serveru. Můžete vytvořit pracovní postup, který nainstaluje aplikace pro testování softwaru a když budete potřebovat více prostředků k automatickému spuštění nového serveru BMC.
Tato akce zobrazí nové ID serveru a veřejné IP adresy v seznamu s hodnotami oddělenými čárkami. Akce je synchronní. Proces vytváření a spouštění serveru je však asynchronní.
Požadované vstupy
Každá akce GitHubu má povinné prvky. Akce vytvoření serveru musí obsahovat:
clientid
:ID klienta z přihlašovacích údajů OAuth2 aplikace.clientsecret
:Tajný klíč klienta z přihlašovacích údajů OAuth2 aplikace.hostname
:Název hostitele serveru. Název musí odpovídat tomuto vzoru:1 ≤ délka ≤ 100 shod^(?=.*[a-zA-Z])([a-zA-Z0-9().-])+$
Volitelné vstupy
Volitelné vstupy pro create-server-bmc Akce GitHubu jsou:
image
:ID OS serveru. Výchozí hodnota jeubuntu/bionic
.type
:ID typu serveru. Výchozí hodnota jes1.c1.small
.location
:ID umístění serveru. Nemůžete změnit umístění jakmile je server vytvořen. Toto pole můžete nastavit na PHX nebo ASH. Výchozí hodnota jePHX
.bmcentrypoint
:Vstupní bod BMC API. Výchozí nastavení jehttps://api.phoenixnap.com/bmc/v1/
.bmctokenhost
:Hostitel tokenu BMC OIDC. Výchozí hodnota jehttps://auth.phoenixnap.com
.bmctokenpath
:Cesta tokenu BMC OIDC. Výchozí hodnota je/auth/realms/BMC/protocol/openid-connect/token
.
Výstupy
create-server-bmc akce má následující výstup:
id
:Nové ID serveru BMC.ipaddresses
:Čárkami oddělený seznam veřejných IP adres připojených k novému serveru.
Příklad použití pro akci vytvoření serveru BMC
Níže je uveden příklad akce vytvoření serveru:
- 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."
Získejte BMC Server Information GitHub Action
get-server-bmc action načte základní informace o serveru Bare Metal Cloud. Tato synchronní akce získá většinu podrobností poskytnutých během akce vytvoření serveru BMC.
Požadované vstupy
Požadované vstupy pro get-server-bmc akce jsou:
clientid
:ID klienta z přihlašovacích údajů OAuth2 aplikace.clientsecret
:Tajný klíč klienta z přihlašovacích údajů OAuth2 aplikace.serverid
:ID serveru, pro který se mají získat informace. ID se vytvoří během kroku vytvoření serveru.
Volitelné vstupy
Toto jsou volitelné vstupy pro get-server-bmc Akce GitHubu:
bmcentrypoint
:Vstupní bod BMC API. Výchozí nastavení jehttps://api.phoenixnap.com/bmc/v1/
.bmctokenhost
:Hostitel tokenu BMC OIDC. Výchozí hodnota jehttps://auth.phoenixnap.com
.bmctokenpath
:Cesta tokenu BMC OIDC. Výchozí hodnota je/auth/realms/BMC/protocol/openid-connect/token
.
Výstupy
create-server-bmc action poskytuje tento výstup:
id
:ID serveru BMC.status
:Provozní stav serveru.hostname
:Název hostitele serveru.ipaddresses
:Čárkami oddělený seznam veřejných IP adres připojených k serveru.
Příklad použití pro akci vytvoření serveru BMC
Níže je uveden příklad použití akce vytvoření serveru:
- 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 }}
Odstranit akci BMC Server GitHub
delete-server-bmc Akce GitHub smaže server Bare Metal Cloud. Akce je synchronní, zatímco mazání a čištění jsou asynchronní.
Upozornění: Akci odstranění používejte s extrémní opatrností, protože ji nelze vrátit zpět a může vést ke ztrátě dat.
Požadované vstupy
Požadované vstupy pro delete-server-bmc akce jsou:
clientid
:ID klienta z přihlašovacích údajů OAuth2 aplikace.clientsecret
:Tajný klíč klienta z přihlašovacích údajů OAuth2 aplikace.serverid
:ID serveru, který chcete odstranit. ID se vytvoří během kroku vytvoření serveru.
Volitelné vstupy
Toto jsou volitelné vstupy pro delete-server-bmc Akce GitHubu:
bmcentrypoint
:Vstupní bod BMC API. Výchozí nastavení jehttps://api.phoenixnap.com/bmc/v1/
.bmctokenhost
:Hostitel tokenu BMC OIDC. Výchozí hodnota jehttps://auth.phoenixnap.com
.bmctokenpath
:Cesta tokenu BMC OIDC. Výchozí hodnota je/auth/realms/BMC/protocol/openid-connect/token
.
Výstupy
delete-server-bmc action poskytuje tento výstup:
id
:ID smazaného serveru BMC.
Příklad použití pro akci odstranění BMC serveru
Níže je uveden příklad použití akce vytvoření serveru:
- 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 }}