00:00 / 00:00
Utilizando la acción previa en un flujo de Github Actions
Los flujos de trabajo de Github son un conjunto de procesos donde nosotros definimos los diferentes pasos que deben de ejecutar y lo harán en el momento que indiquemos, como: al mezclar una rama a la principal, al crear una revisión de código, etc.
Vamos a ver como podemos crear uno y utilizar la acción que hemos creado anteriormente.
Manos a la obra
Para que Github detecte nuestro flujo de trabajo, debemos de crear la carpeta
.github
en el directorio raiz, y dentro de ella, otra carpeta llamada
workflows
donde pondremos todos los flujos de trabajo que necesite nuestro
proyecto.
Vamos a crear el fichero load-test.workflow.yml
y en lugar de ejecutar este
flujo cuando se mezcle el código a la rama principal o al crear una Pull Request,
vamos a ejecutarlo manualmente:
./.github/workflows/load-test.workflow.yml
name: Pruebas de carga
on:
workflow_dispatch:
Este proceso o job, lo vamos nombrar como load-test
y lo ejecutaremos en una
máquina virtual con el sistema operativo ubuntu en su última versión:
./.github/workflows/load-test.workflow.yml
name: Pruebas de carga
on:
workflow_dispatch:
+ jobs:
+ load-test:
+ runs-on: ubuntu-latest
Como primer paso, necesitamos clonar el repositorio en dicha máquina para tener
acceso al código fuente. Podemos utilizar una acción ya predefinida por el
propio equipo de Github que se llama actions/checkout@v2
para tal fin:
./.github/workflows/load-test.workflow.yml
name: Pruebas de carga
on:
workflow_dispatch:
jobs:
load-test:
runs-on: ubuntu-latest
+ steps:
+ - name: Clonar repositorio
+ uses: actions/checkout@v2
A continuación, utilizamos nuestra acción para ejecutar pruebas de carga con Apache Bench:
./.github/workflows/load-test.workflow.yml
name: Pruebas de carga
on:
workflow_dispatch:
jobs:
load-test:
runs-on: ubuntu-latest
steps:
- name: Clonar repositorio
uses: actions/checkout@v2
+ - name: Ejecutar pruebas de carga
+ uses: ./load-test-action
+ with:
+ url: https://www.basefactor.com/
+ number-of-requests: 10
+ concurrency: 2
Por último, subimos todos los ficheros creados al repositorio de Github:
git add .
git commit -m "crear github action propia"
git push -u origin master
Ya podemos ejecutar manualmente el flujo en el repositorio de Github, en el apartado de Actions:
¿Te gusta el mundo Devops?
En Lemoncode impartimos un Bootcamp Devops Online, en él encontrarás todos los recursos necesarios: clases de los mejores profesionales del sector, tutorías en cuanto las necesites y ejercicios para desarrollar lo aprendido en los distintos módulos. Si quieres saber más puedes pinchar aquí para más información sobre este Bootcamp Devops.