yml tutorial tag run only multiple deploy changes gitlab-ci

gitlab-ci - tutorial - gitlab ci yml



¿Usar GitLab CI para ejecutar pruebas localmente? (2)

Si un proyecto de GitLab está configurado en GitLab CI, ¿hay alguna forma de ejecutar la compilación localmente?

No quiero convertir mi computadora portátil en un "corredor" de compilación, solo quiero aprovechar Docker y .gitlab-ci.yml para ejecutar pruebas localmente (es decir, todo está preconfigurado). Otra ventaja de esto es que estoy seguro de que estoy usando el mismo entorno localmente y en CI.

Aquí hay un ejemplo de cómo ejecutar las construcciones de Travis localmente usando Docker , estoy buscando algo similar con GitLab.


Desde hace unos meses, esto es posible usando el gitlab-runner :

gitlab-runner exec docker my-job-name

Tenga en cuenta que necesita que tanto la gitlab-runner docker como el gitlab-runner instalados en su computadora para que esto funcione.

También necesitará la clave de image definida en su archivo .gitlab-ci.yml . De lo contrario no funcionará.

Aquí está la línea que actualmente uso para probar localmente usando gitlab-runner :

gitlab-runner exec docker test --docker-volumes "/home/elboletaire/.ssh/id_rsa:/root/.ssh/id_rsa:ro"

Edición: debido a la confusión, gitlab-runner --help aquí el gitlab-runner --help , para que pueda ver que gitlab-runner puede hacer construcciones localmente:

gitlab-runner --help NAME: gitlab-runner - a GitLab Runner USAGE: gitlab-runner [global options] command [command options] [arguments...] VERSION: 1.1.0~beta.135.g24365ee (24365ee) AUTHOR(S): Kamil Trzciński <[email protected]> COMMANDS: exec execute a build locally list List all configured runners run run multi runner service register register a new runner install install service uninstall uninstall service start start service stop stop service restart restart service status get status of a service run-single start single runner unregister unregister specific runner verify verify all registered runners artifacts-downloader download and extract build artifacts (internal) artifacts-uploader create and upload build artifacts (internal) cache-archiver create and upload cache artifacts (internal) cache-extractor download and extract cache artifacts (internal) help, h Shows a list of commands or help for one command GLOBAL OPTIONS: --debug debug mode [$DEBUG] --log-level, -l "info" Log level (options: debug, info, warn, error, fatal, panic) --cpuprofile write cpu profile to file [$CPU_PROFILE] --help, -h show help --version, -v print the version

Como puede ver, el comando exec es execute a build locally .


Si está ejecutando Gitlab utilizando la imagen de la ventana acoplable allí: https://hub.docker.com/r/gitlab/gitlab-ce , es posible ejecutar tuberías al exponer el docker.sock local con una opción de volumen: -v /var/run/docker.sock:/var/run/docker.sock . Si agrega esta opción al contenedor de Gitlab, sus trabajadores podrán acceder a la instancia de la ventana acoplable en el host.