GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Actions GitHub Cloud Bare Metal

Présentation

GitHub Actions est une plate-forme d'automatisation des workflows de développement de logiciels avec un outil CI/CD intégré. La plate-forme est facile à utiliser et ne nécessite pas d'application tierce ni de connaissances préalables d'un expert ni d'une personne dédiée à la maintenance.

Les actions PhoenixNAP Bare Metal Cloud GitHub servent d'exécuteur de tâches automatisé qui réagit aux événements GitHub dans votre référentiel git. Sans faire tourner un autre serveur, vous pouvez obtenir la fonctionnalité CI/CD souhaitée directement à partir de GitHub.

Prérequis

  • Un compte GitHub
  • Compte Bare Metal Cloud (BMC) ou portail client phoenixNAP (PNCP). Si vous êtes un nouveau client, créez un compte pour Bare Metal Cloud. Reportez-vous aux instructions vidéo de création de compte BMC pour obtenir de l'aide.

Qu'est-ce que BMC GitHub Action ?

Une action Bare Metal Cloud GitHub est définie par le action.yaml correspondant dossier. Chaque référentiel d'action BMC a un action.yaml dédié fichier avec le code créé pour cette action spécifique, comme create-server-bmc .

Le fichier yaml décrit comment exécuter l'action, définit le fichier JavaScript principal, dans ce cas index.js et les métadonnées de la fonction. Vous pouvez combiner ces actions BMC basées sur JavaScript et les incorporer dans vos flux de travail pour atteindre le niveau d'automatisation souhaité.

Identifiants BMC GitHub

Le référentiel GitHub prend en charge les variables d'environnement secrètes entièrement chiffrées. Vous référencez ensuite clientid et clientsecret dans le fichier yaml du workflow. Les actions BMC n'ont accès à votre secret qu'une fois que vous les avez ajoutés à votre référentiel.

Une fois que vous avez ajouté des informations d'identification à votre référentiel ou à votre organisation, les valeurs ne sont pas visibles lorsque vous exécutez une action.

Pour obtenir l'Client ID de BMC et Client Secret , connectez-vous au portail Bare Metal Cloud et :

1. Accédez aux informations d'identification de l'API page.

2. Cliquez sur Créer des informations d'identification bouton.

3. Ajoutez le nom d'identification et description facultative dans les champs respectifs.

4. Attribuez des étendues d'autorisations . Cochez la case à côté du niveau d'autorisation que vous souhaitez accorder aux informations d'identification. Choisissez si vous souhaitez autoriser l'utilisation de tous les appels d'API BMC ou en lecture seule.

5. Cliquez sur Créer une fois prêt.

6. Vous obtiendrez l'Client ID et Client Secret dans la fenêtre de confirmation.

7. Copiez les informations d'identification et ajoutez-les à votre référentiel GitHub en tant que secret. Allez dans Paramètres - > Secrets et cliquez sur Ajouter un nouveau secret .

Référentiel d'actions PhoenixNAP BMC GitHub

Notre référentiel BMC GitHub Actions contient actuellement trois actions :

  • Créer un nouveau serveur Bare Metal Cloud
  • Supprimer un serveur Bare Metal Cloud
  • Obtenir des informations de base sur le serveur Bare Metal Cloud

Vous pouvez combiner des actions BMC avec d'autres actions pour créer vos travaux et workflows personnalisés.

Créer une nouvelle action GitHub du serveur BMC

Le create-server-bmc L'action GitHub vous permet d'automatiser le processus de création de serveur. Vous pouvez créer un flux de travail qui installe des applications de test de logiciels et lorsque vous avez besoin de plus de ressources pour démarrer automatiquement un nouveau serveur BMC.

Cette action génère le nouvel ID de serveur et les adresses IP publiques dans une liste avec des valeurs séparées par des virgules. L'action est synchrone. Cependant, la création du serveur et le processus de démarrage sont asynchrones.

Saisies requises

Chaque action GitHub comporte des éléments obligatoires. L'action de création de serveur doit inclure :

  • Client ID  :ID client des informations d'identification OAuth2 de l'application.
  • clientsecret  :Clé secrète du client à partir des informations d'identification OAuth2 de l'application.
  • hostname :Nom d'hôte du serveur. Le nom doit suivre ce modèle :1 ≤ longueur ≤ 100 correspond à ^(?=.*[a-zA-Z])([a-zA-Z0-9().-])+$

Entrées facultatives

Entrées facultatives pour create-server-bmc Les actions GitHub sont :

  • image :ID du système d'exploitation du serveur. Par défaut, ubuntu/bionic .
  • type :ID du type de serveur. Par défaut, s1.c1.small .
  • location :ID d'emplacement du serveur. Vous ne pouvez pas modifier l'emplacement une fois qu'un serveur est créé. Vous pouvez définir ce champ sur PHX ou ASH. La valeur par défaut est PHX .
  • bmcentrypoint :Le point d'entrée de l'API BMC. Par défaut, https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :l'hôte de jeton BMC OIDC. Par défaut, https://auth.phoenixnap.com .
  • bmctokenpath :Le chemin du jeton BMC OIDC. Par défaut, /auth/realms/BMC/protocol/openid-connect/token .

Sorties

Le create-server-bmc l'action a le résultat suivant :

  • id  :Le nouvel ID de serveur BMC.
  • ipaddresses  :Une liste d'adresses IP publiques séparées par des virgules attachées au nouveau serveur.

Exemple d'utilisation pour l'action Créer un serveur BMC

Vous trouverez ci-dessous l'exemple de l'action de création de serveur :

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

Obtenir l'action GitHub d'informations sur le serveur BMC

Le get-server-bmc récupère des informations de base sur un serveur Bare Metal Cloud. Cette action synchrone obtient la plupart des détails fournis lors de l'action de création du serveur BMC.

Saisies requises

Entrées requises pour get-server-bmc actions sont :

  • Client ID  :ID client des informations d'identification OAuth2 de l'application.
  • clientsecret  :Clé secrète du client à partir des informations d'identification OAuth2 de l'application.
  • serverid :ID du serveur pour lequel obtenir les informations. L'ID est créé lors de l'étape de création du serveur.

Entrées facultatives

Ce sont les entrées facultatives pour get-server-bmc Action GitHub :

  • bmcentrypoint :Le point d'entrée de l'API BMC. Par défaut, https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :l'hôte de jeton BMC OIDC. Par défaut, https://auth.phoenixnap.com .
  • bmctokenpath :Le chemin du jeton BMC OIDC. Par défaut, /auth/realms/BMC/protocol/openid-connect/token .

Sorties

Le create-server-bmc l'action fournit cette sortie :

  • id  :ID du serveur BMC.
  • status  :L'état opérationnel du serveur.
  • hostname :Le nom d'hôte du serveur.
  • ipaddresses  :Une liste d'adresses IP publiques séparées par des virgules attachées au serveur.

Exemple d'utilisation pour l'action Créer un serveur BMC

Vous trouverez ci-dessous l'exemple d'utilisation de l'action de création de serveur :

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

Supprimer l'action GitHub du serveur BMC

Le delete-server-bmc L'action GitHub supprime un serveur Bare Metal Cloud. L'action est synchrone, tandis que la suppression et le nettoyage sont asynchrones.

Avertissement : Utilisez l'action de suppression avec une extrême prudence car elle ne peut pas être annulée et peut entraîner une perte de données.

Saisies requises

Entrées requises pour delete-server-bmc actions sont :

  • Client ID  :ID client des informations d'identification OAuth2 de l'application.
  • clientsecret  :Clé secrète du client à partir des informations d'identification OAuth2 de l'application.
  • serverid :L'ID du serveur que vous souhaitez supprimer. L'ID est créé lors de l'étape de création du serveur.

Entrées facultatives

Ce sont les entrées facultatives pour delete-server-bmc Action GitHub :

  • bmcentrypoint :Le point d'entrée de l'API BMC. Par défaut, https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :l'hôte de jeton BMC OIDC. Par défaut, https://auth.phoenixnap.com .
  • bmctokenpath :Le chemin du jeton BMC OIDC. Par défaut, /auth/realms/BMC/protocol/openid-connect/token .

Sorties

Le delete-server-bmc l'action fournit cette sortie :

  • id  :ID d'un serveur BMC supprimé.

Exemple d'utilisation pour l'action de suppression du serveur BMC

Vous trouverez ci-dessous l'exemple d'utilisation de l'action de création de serveur :

- 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. Configurer un cloud Linux sur métal nu

  2. FAQ MyAccount d'E2E

  3. Ubuntu dans Virtualbox dans Dropbox ou Cloud ?

  4. Actions du bouton d'alimentation Lubuntu 18.10 Lxqt ?

  5. Comment migrer une installation Linux bare metal vers une machine virtuelle

Comment créer un support de récupération et effectuer une restauration Bare Metal à partir de Veeam Cloud Connect

Comment installer OpenShift 4.9 sur Bare Metal (UPI)

Installer le SDK Google Cloud sur Ubuntu 20.04

Comment déployer et gérer des thèmes fantômes à l'aide d'actions GitHub

Installation d'Alpine (ou autre Linux) sur VPS ou Bare Metal Server

Configurer le flux de travail CI/CD avec les actions GitHub