GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Acciones de GitHub de Bare Metal Cloud

Introducción

GitHub Actions es una plataforma para la automatización del flujo de trabajo de desarrollo de software con una herramienta de CI/CD integrada. La plataforma es fácil de usar y no requiere una aplicación de terceros o conocimiento experto previo y una persona dedicada al mantenimiento.

Las acciones de PhoenixNAP Bare Metal Cloud GitHub sirven como un ejecutor de tareas automatizado que reacciona a los eventos de GitHub en su repositorio de git. Sin activar otro servidor, puede lograr la funcionalidad de CI/CD deseada directamente desde GitHub.

Requisitos previos

  • Una cuenta de GitHub
  • Cuenta Bare Metal Cloud (BMC) o phoenixNAP Client Portal (PNCP). Si es un cliente nuevo, cree una cuenta para Bare Metal Cloud. Consulte las instrucciones en video sobre la creación de una cuenta de BMC para obtener ayuda.

¿Qué es la acción de BMC GitHub?

Una acción de GitHub de Bare Metal Cloud se define mediante el action.yaml correspondiente expediente. Cada repositorio de acciones de BMC tiene un action.yaml dedicado archivo con el código creado para esa acción específica, como create-server-bmc .

El archivo yaml describe cómo ejecutar la acción, define el archivo JavaScript principal, en este caso index.js y los metadatos de la función. Puede combinar estas acciones de BMC basadas en JavaScript e incorporarlas a sus flujos de trabajo para lograr el nivel deseado de automatización.

Credenciales de BMC GitHub

El repositorio de GitHub admite variables de entorno secretas totalmente cifradas. Luego hace referencia a clientid y clientsecret en el archivo yaml del flujo de trabajo. Las acciones de BMC obtienen acceso a su secreto solo una vez que las agrega a su repositorio.

Una vez que agrega credenciales a su repositorio u organización, los valores no son visibles cuando ejecuta una acción.

Para obtener BMC Client ID y Client Secret , inicie sesión en el portal Bare Metal Cloud y:

1. Navegue a Credenciales de API página.

2. Haga clic en Crear credenciales botón.

3. Agregue el nombre de la credencial y descripción opcional en los campos respectivos.

4. Asigne alcances de permisos . Marque la casilla junto al nivel de permiso que desea otorgar a las credenciales. Elija si desea permitir el uso de todas las llamadas a la API de BMC o de solo lectura.

5. Haz clic en Crear cuando esté listo.

6. Obtendrá el Client ID y Client Secret en la ventana de confirmación.

7. Copie las credenciales y agréguelas a su repositorio de GitHub como secreto. Ve a Configuración -> Secretos y haz clic en Agregar un nuevo secreto .

PhoenixNAP BMC GitHub Acciones Repositorio

Nuestro repositorio de acciones de BMC GitHub actualmente contiene tres acciones:

  • Cree un nuevo servidor Bare Metal Cloud
  • Eliminar un servidor Bare Metal Cloud
  • Obtener información básica del servidor Bare Metal Cloud

Puede combinar acciones de BMC con otras acciones para crear sus trabajos y flujos de trabajo personalizados.

Crear nueva acción GitHub del servidor BMC

El crear-servidor-bmc La acción de GitHub le permite automatizar el proceso de creación del servidor. Puede crear un flujo de trabajo que instale aplicaciones de prueba de software y, cuando necesite más recursos, activar un nuevo servidor BMC automáticamente.

Esta acción genera la nueva ID del servidor y las direcciones IP públicas en una lista con valores separados por comas. La acción es sincrónica. Sin embargo, la creación del servidor y el proceso de inicio son asincrónicos.

Entradas requeridas

Cada acción de GitHub tiene elementos obligatorios. La acción de creación del servidor debe incluir:

  • clientid :ID de cliente de las credenciales OAuth2 de la aplicación.
  • clientsecret :Secreto del cliente de las credenciales OAuth2 de la aplicación.
  • hostname :nombre de host del servidor. El nombre debe seguir este patrón:1 ≤ longitud ≤ 100 coincide con ^(?=.*[a-zA-Z])([a-zA-Z0-9().-])+$

Entradas opcionales

Entradas opcionales para create-server-bmc Las acciones de GitHub son:

  • image :ID del sistema operativo del servidor. El valor predeterminado es ubuntu/bionic .
  • type :ID de tipo de servidor. El valor predeterminado es s1.c1.small .
  • location :ID de ubicación del servidor. No puedes cambiar la ubicación una vez que se crea un servidor. Puede establecer este campo en PHX o ASH. El valor predeterminado es PHX .
  • bmcentrypoint :El punto de entrada de la API de BMC. El valor predeterminado es https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :El host del token OIDC de BMC. El valor predeterminado es https://auth.phoenixnap.com .
  • bmctokenpath :la ruta del token OIDC de BMC. El valor predeterminado es /auth/realms/BMC/protocol/openid-connect/token .

Salidas

El crear-servidor-bmc La acción tiene el siguiente resultado:

  • id :El nuevo ID del servidor BMC.
  • ipaddresses :Una lista separada por comas de direcciones IP públicas adjuntas al nuevo servidor.

Ejemplo de uso para la acción Crear servidor BMC

A continuación se muestra el ejemplo de la acción de creación de servidor:

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

Acción de GitHub para obtener información del servidor BMC

get-server-bmc La acción recupera información básica sobre un servidor Bare Metal Cloud. Esta acción síncrona obtiene la mayoría de los detalles proporcionados durante la acción de creación del servidor BMC.

Entradas requeridas

Entradas requeridas para get-server-bmc acción son:

  • clientid :ID de cliente de las credenciales OAuth2 de la aplicación.
  • clientsecret :Secreto del cliente de las credenciales OAuth2 de la aplicación.
  • serverid :El ID del servidor para el que obtener la información. El ID se crea durante el paso de creación del servidor.

Entradas opcionales

Estas son las entradas opcionales para get-server-bmc Acción de GitHub:

  • bmcentrypoint :El punto de entrada de la API de BMC. El valor predeterminado es https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :El host del token OIDC de BMC. El valor predeterminado es https://auth.phoenixnap.com .
  • bmctokenpath :la ruta del token OIDC de BMC. El valor predeterminado es /auth/realms/BMC/protocol/openid-connect/token .

Salidas

El crear-servidor-bmc action proporciona esta salida:

  • id :El ID del servidor BMC.
  • status :El estado operativo del servidor.
  • hostname :El nombre de host del servidor.
  • ipaddresses :Una lista separada por comas de direcciones IP públicas adjuntas al servidor.

Ejemplo de uso para la acción Crear servidor BMC

A continuación se muestra el uso de ejemplo para la acción de creación de servidor:

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

Eliminar acción de GitHub del servidor BMC

eliminar-servidor-bmc La acción de GitHub elimina un servidor Bare Metal Cloud. La acción es síncrona, mientras que la eliminación y la limpieza son asíncronas.

Advertencia: Utilice la acción de eliminar con extrema precaución, ya que no se puede deshacer y puede provocar la pérdida de datos.

Entradas requeridas

Entradas requeridas para delete-server-bmc acción son:

  • clientid :ID de cliente de las credenciales OAuth2 de la aplicación.
  • clientsecret :Secreto del cliente de las credenciales OAuth2 de la aplicación.
  • serverid :El ID del servidor que desea eliminar. El ID se crea durante el paso de creación del servidor.

Entradas opcionales

Estas son las entradas opcionales para delete-server-bmc Acción de GitHub:

  • bmcentrypoint :El punto de entrada de la API de BMC. El valor predeterminado es https://api.phoenixnap.com/bmc/v1/ .
  • bmctokenhost :El host del token OIDC de BMC. El valor predeterminado es https://auth.phoenixnap.com .
  • bmctokenpath :la ruta del token OIDC de BMC. El valor predeterminado es /auth/realms/BMC/protocol/openid-connect/token .

Salidas

eliminar-servidor-bmc action proporciona esta salida:

  • id :El ID de un servidor BMC eliminado.

Ejemplo de uso para eliminar la acción del servidor BMC

A continuación se muestra el uso de ejemplo para la acción de creación de servidor:

- 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. Configurar una nube de Linux en bare metal

  2. Preguntas frecuentes sobre Mi cuenta de E2E

  3. ¿Ubuntu en Virtualbox en Dropbox o en la nube?

  4. ¿Acciones del botón de encendido de Lubuntu 18.10 Lxqt?

  5. Cómo migrar una instalación de Linux bare metal a una máquina virtual

Cómo crear medios de recuperación y realizar una restauración completa desde Veeam Cloud Connect

Cómo instalar OpenShift 4.9 en Bare Metal (UPI)

Instale el SDK de Google Cloud en Ubuntu 20.04

Cómo implementar y administrar temas fantasma mediante acciones de GitHub

Instalación de Alpine (u otro Linux) en VPS o Bare Metal Server

Configurar el flujo de trabajo de CI/CD con acciones de GitHub