Shell Executor es un ejecutor muy simple que ayuda a construir la solución localmente en la máquina, donde está instalado GitLab Runner. Sin embargo, también ayuda ejecutar scripts de Bash y Windows PowerShell y Windows Batch está obsoleto. Habrá algunos requisitos y la configuración de la ruta necesaria para configurar GitLab Runner en el modo Shell Executor y comenzar la implementación en él.
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.
Requisitos:
Software |
Descripción |
---|---|
Git |
Estos son los primeros requisitos para confirmar los cambios en GitLab. Es un software de control de versiones que rastrea el conjunto cambiante de archivos. |
Corredor de GitLab |
El trabajo de GitLab Runner es recoger y ejecutar el trabajo (cuando ocurre una nueva confirmación). |
MSBuild.exe |
Descargue MSBuild.exe y guárdelo en su directorio local. Ayuda a compilar el proyecto cuando GitLab Runner realiza el trabajo. Si en una máquina, Visual Studio ya está instalado, no será necesario instalarlo. Se puede encontrar en C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe (búsqueda basada en la versión de Visual Studio) |
nuget.exe |
Descargue Nuget.exe y guárdelo en el mismo directorio donde está disponible MSBuild. |
Configuración de ruta:
Software/Archivo |
Descripción de la ruta |
---|---|
Git |
Después de la instalación exitosa de Git en la máquina. La siguiente ruta debe configurarse para comunicarse con el repositorio de GitLab. Vaya a la variable de entorno del sistema, agregue estos dos con la ruta de la variable de usuario
|
MSBuild.exe | Se necesitará la ruta MSBuild.exe en el archivo Yml, mientras que la configuración con GitLab. Por ejemplo, C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe o donde esté disponible su MSBuild. |
nuget.exe |
La ruta de Nuget.exe también será necesaria en el archivo Yml, mientras que la configuración con GitLab. Por ejemplo, C:\Tools\Nuget\nuget.exe o donde esté disponible su Nuget. |
Mstest.exe |
Esto es útil para ejecutar los casos de prueba de .Net, en Visual Studio 2019, está disponible en C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\mstest.exe |
.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. Descarga GitLab Runner para Windows
2. Después de descargar con éxito, guárdelo en su directorio (por ej.: C:\Tools\GitLab-Runner) y cámbiele el nombre con el siguiente comando
gitlab-runner.exe
3. Abra el símbolo del sistema en el modo de administración, vaya al directorio de GitLab-Runner y verifique su estado usando
gitlab-runner status
4. Si ya se está ejecutando, deténgalo antes de registrar un repositorio con GitLab Runner
gitlab-runner.exe stop
5. Una vez que GitLab Runner se haya detenido con éxito, use el siguiente comando para el registro del repositorio
gitlab-runner.exe register
6. 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 la 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 la 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 la 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)
7. Después de un registro exitoso, inicie GitLab Runner
gitlab-runner start
8. 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.
Comando de Windows GitLab Runner
Dominio |
Descripción |
---|---|
registro gitlab-runner.exe | Registrar el proyecto con GitLab Runner |
inicio de gitlab-runner.exe | Iniciar el corredor |
detener gitlab-runner.exe | detener al corredor |
estado de gitlab-runner.exe | Para saber el estado de gitlab-runner |
gitlab-runner unregister –nombre corredor de prueba | Anule el registro de Runner 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.exe). |
anular el registro de gitlab-runner –url http://gitlab.example.com/ –token t0k3n | Eliminar Runner por URL y token |
anular el registro de gitlab-runner –todos los corredores | Dar de baja a todos los corredores |
reinicio de gitlab-runner | Este comando detiene y luego inicia el servicio GitLab Runner |
desinstalación de gitlab-runner | Este comando detiene y desinstala GitLab Runner para que no se ejecute como un servicio |
ejecutivo de gitlab-runner | Para ver una lista de ejecutores disponibles, ejecute |
gitlab-runner –ayuda | Verifique una lista reciente de comandos ejecutando |
ejecución de gitlab-runner –ayuda | Puede ver el nombre de la variable de entorno. |
gitlab-corredor – depuración | Para ejecutar un comando en modo de depuración |
Shell ejecutivo de gitlab-runner | Para ver una lista de todas las opciones disponibles para el ejecutor de shell, ejecute |
.gitlab-ci.yml: este es un formato de .gitlab-ci.yml y lo cambia según los requisitos
variables: NUGET_PATH: 'C:\Tools\Nuget\nuget.exe' MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\MSBuild.exe' MSTEST_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\mstest.exe' TEST_FOLDER: '.\test\bin\Release' stages: - build - test - deploy before_script: - '& "$env:NUGET_PATH" restore sourcecode\project.sln' # sourcecode\project.sln-This path includes project solution where is available and restoring - '& "$env:NUGET_PATH" restore test\test.sln' # This path includes test solution where is available. and restoring build_job: stage: build only: - developer #this branch will run on GitLab Runner and can change it. script: - '& "$env:MSBUILD_PATH" sourcecode\project.sln /p:DeployOnBuild=true /p:Configuration=Release /p:Platform="Any CPU" /P:PublishProfile=FolderProfile.pubxml' - '& "$env:MSBUILD_PATH" test\test.sln /p:DeployOnBuild=true /p:Configuration=Release /p:Platform="Any CPU" /P:PublishProfile=FolderProfile.pubxml' artifacts: expire_in: 365 days #artifcats will be stored only 365 days after this it will expire paths: - '.\sourcecode\project.sln\bin\Release\Publish\' - '.\sourcecode\project.sln\bin\Publish\' - '$env:TEST_FOLDER' - '.\$env:MSTEST_PATH\*.*' test_job: stage: test only: - developer #this branch will run on GitLab Runner and can change it. script: - .\test\test.bat #This is bat file, if the test are written in script format dependencies: - build_job deploy_job: stage: deploy only: - developer #this branch will run on GitLab Runner and can change it. script: - 'xcopy /y /s ".\sourcecode\project.sln\bin\Release\Publish\*.*" "C:\solutionDir"' #Path where you want to store the solution dependencies: #after successfully build, only test stage will run - build_job - test_job
Confirmación de código: después de una configuración exitosa, confirme y vea el estado del trabajo en GitLab. Vaya al repositorio de proyectos → Seleccione el menú CI/CD
Publicación traducida automáticamente
Artículo escrito por amiransarimy y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA