Hay muchos ejecutores disponibles para implementar CI/CD con GitLab Runner. Sin embargo, Shell y Docker son más populares entre ellos y podemos configurar fácilmente un repositorio con estos ejecutores. Estos corredores se pueden elegir en función de los requisitos y la disponibilidad de los recursos. Este artículo se centra principalmente en los ejecutores Shell y Docker de la aplicación Java Linux y el código está escrito en script bash. La aplicación puede compilarse y probarse mediante un script bash.
Shell Executor : Shell Executor es un ejecutor muy simple que ayuda a construir la solución localmente en la máquina, donde está instalado GitLab Runner. En este caso, GitLab Runner está instalado en la máquina Linux, por lo que debe instalar el software requerido en el mismo sistema.
Docker Executor: Es una poderosa herramienta que incluye mucho software y se puede acceder por imagen. La ventaja de este ejecutor es que no necesitamos instalar ningún software manualmente, todo se hará a través de Docker y la imagen requerida se descargará desde Docker Hub. Sin embargo, la desventaja es que esta comunicación está bloqueada en algunas organizaciones por motivos de seguridad. Entonces, si este es el caso, Shell Executor es la mejor alternativa.
Implementación de Java en Shell Executor:
Requisitos: Estos son el software básico que necesita instalar en una máquina Linux. Sin embargo, se puede cambiar según el script de compilación y es necesario descargar otro software si es necesario.
Software | Descripción |
---|---|
Git | Este es el primer requisito, para confirmar los cambios en GitLab. Es un software de control de versiones que rastrea el conjunto cambiante de archivos. |
JDK | Necesita instalar una versión específica de JDK en la máquina a la que se dirige, para construir el archivo jar. Por ejemplo, OpenJDK-8 |
hormiga apache | Esta es una herramienta que ayuda a construir procesos y generar el archivo jar del proyecto mientras se ejecuta este archivo. Contiene más información sobre el proyecto y agrega esta información dentro del jar. |
Configuración de ruta: después de una instalación exitosa, debe configurar la ruta de este software instalado en la máquina, si no está configurada. Ejecute el siguiente comando en la máquina.
Variables / Archivo | Sendero |
---|---|
Git |
Establezca la ruta de Git en la máquina Linux, si aún no está configurada. Puede verificar con qué git exportar Git = /usr/bin/git |
JAVA |
exportar JAVA=/usr/bin/java Puede verificar con qué Java |
hormiga apache |
exportar ANT=/usr/bin/ant Puede comprobar con qué hormiga |
Permiso | Otorgue permiso para build.xml antes de que se ejecute: chmod -R 777 * |
construir.xml | Construirá el proyecto y generará el jar basado en la información que contiene |
.gitlab-ci.yml | Este archivo debe estar dentro del directorio raíz del proyecto que contiene toda la configuración de CI/CD, incluido el software y la ruta del script. Aquí, puede mencionar cómo debería funcionar este repositorio. Antes de agregar este archivo al directorio raíz, debe verificar si es un archivo yml válido o no. |
Configuración de GitLab Runner : siga los pasos a continuación para descargar y configurar GitLab Runner.
1. Descargue GitLab Runner en una máquina Linux
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64
2. Dale permisos para ejecutar usando el siguiente comando:
sudo chmod +x /usr/local/bin/gitlab-runner
3. Cree un GitLab CI usando el siguiente comando:
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash
4. Instálelo y ejecútelo como un servicio usando el siguiente comando:
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
5. Inicie GitLab Runner usando el siguiente comando:
sudo gitlab-runner start
6. Detenga GitLab Runner antes de registrar el repositorio usando el siguiente comando:
sudo gitlab-runner stop
7. Una vez que GitLab Runner se haya detenido con éxito, ingrese el siguiente comando en la terminal para el registro del repositorio.
sudo gitlab-runner register
8. Cuando realiza el registro del repositorio con GitLab Runner, debe responder las siguientes preguntas.
- Ingrese la URL de su instancia de GitLab: puede ser diferente con cada organización y el formato será como http://gitlab.example.com
- Ruta: Vaya a Cuenta de GitLab → Seleccione el repositorio en el que desea registrar el corredor → Configuración → CI/CD → Expandir corredor
- Ingrese el token gitlab-ci para este corredor: será un token único de cada proyecto que necesitará durante el registro y se puede encontrar
- Ruta: Vaya a Cuenta de GitLab → Seleccione el repositorio en el que desea registrar el corredor → Configuración → CI/CD → Expandir corredor
- Ingrese la descripción de gitlab-ci para este corredor: ingrese el nombre del corredor (cualquier nombre), que lo ayudará a recordar qué corredor está ejecutando
- Ingrese las etiquetas gitlab-ci para este corredor: es opcional si desea iniciar el corredor GitLab cuando una etiqueta específica está disponible en el archivo yml.
- Ingrese el ejecutor: habrá una lista de varios ejecutores y escriba shell (ya que GitLab Runner ejecutará nuestro sistema)
9. Después de un registro exitoso , inicie GitLab Runner usando el siguiente comando
sudo gitlab-runner start
Para verificar que GitLab Runner haya registrado el repositorio respectivo y se haya iniciado el runner. Vaya a Cuenta de GitLab → Seleccione el repositorio en el que desea registrar el corredor → Configuración → CI/CD → Expandir corredor. Habrá un círculo de color verde disponible y el mensaje que se muestra será Corredores activados para este proyecto.
Nota: si el círculo es gris, significa que el corredor no ha comenzado y comienza de nuevo.
Comandos de Linux GitLab Runner
Dominio | Descripción |
---|---|
registro sudo gitlab-runner | Registrar el proyecto con GitLab Runner |
registro sudo gitlab-runner | Iniciar el corredor |
detener sudo gitlab-runner | detener al corredor |
estado de sudo gitlab-runner | Para saber el estado de gitlab-runner |
sudo gitlab-runner unregister –name test-runner | Cancele el registro del corredor de un proyecto y reemplace el corredor de prueba con su nombre de corredor y este nombre se puede encontrar dentro del archivo config.toml (donde está disponible su gitlab-runner). |
sudo gitlab-runner unregister –url http://gitlab.example.com/ –token t0k3n | Eliminar Runner por URL y token |
sudo gitlab-runner unregister –todos los corredores | Dar de baja a todos los corredores |
reinicio de sudo gitlab-runner | Este comando detiene y luego inicia el servicio GitLab Runner |
desinstalación de sudo gitlab-runner | Este comando detiene y desinstala GitLab Runner para que no se ejecute como un servicio |
ejecución de sudo gitlab-runner | Para ver una lista de ejecutores disponibles, ejecute |
sudo gitlab-runner –ayuda | Verifique una lista reciente de comandos ejecutando |
sudo gitlab-runner ejecutar –ayuda | Puede ver el nombre de la variable de entorno. |
sudo gitlab-runner – depuración | Para ejecutar un comando en modo de depuración |
sudo gitlab-runner exec shell | Para ver una lista de todas las opciones disponibles para el ejecutor de shell, ejecute |
.gitlab-ci.yml_shell Executor : A continuación se muestra el contenido de .gitlab-ci.yml en el modo ejecutor de shell. Sin embargo, cámbielo si es necesario según los requisitos.
stages: - build - execute build: stage: build script: - ant -f build.xml artifacts: paths: - abc.jar execute: stage: execute script: - pwd - cd scripts - chmod -R 777 * - pwd - ./run.sh
Implementación de Java en Docker Executor : no es necesario instalar ningún software manualmente, todo se tomará del contenedor docker. Sin embargo, puede instalar el software requerido ingresando el nombre en el archivo yml y también puede exportar la ruta. Para ejecutar GitLab runner en el modo ejecutor docker, vaya a Configuración de GitLab Runner (arriba) y seleccione docker en lugar de shell.
.gitlab-ci.yml_ Docker Executor : a continuación se muestra el contenido de .gitlab-ci.yml en el modo ejecutor de docker. Sin embargo, cámbielo si es necesario.
image: ubuntu:latest stages: - build - execute before_script: - echo "Before script section" - apt-get update && apt-get -y install openjdk-8-jdk && apt-get -y install ant build: stage: build script: - ant -f build.xml artifacts: paths: - abc.jar execute: stage: execute script: - pwd - cd scripts - chmod -R 777 * - pwd - ./runtest.sh
Publicación traducida automáticamente
Artículo escrito por amiransarimy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA