Me gustaría ejecutar un script bash externo (en la máquina local) desde gitlab-ci.yml que usa la imagen docker:stable. Me gustaría ejecutar startup.sh ubicado fuera de la imagen acoplable de gitlab. ¿Es esto posible o hay mejores opciones?
gitlab-ci.yaml
image: docker:stable #Build script variables: CI_DEBUG_TRACE: "true" DOCKER_DRIVER: overlay before_script: - docker --version build: services: - docker:dind script: - docker build --no-cache -t <tag> . - docker login -u root -p <pass> <registry> - docker tag ... - docker push ... - echo "build completed" stage: build tags: - <tag> deploy_staging: stage: deploy script: - ./sh startup.shguion bash
#!/bin/bash docker login -u root -p <pass> docker pull <image> docker-compose up -dNo estoy seguro de si esta es la mejor práctica para su caso de uso, pero la manera simple de compartir archivos con una imagen es agregar volumen y compartir este código en la imagen editando su archivo config.toml.
agregue esta línea a config.toml en [runners.docker]
volúmenes = ["/caché", ruta a startup.sh :/root/scripts"]
y luego dentro de your.gilatb.yml
deploy_staging: stage: deploy script: - chmod +x /root/scripts/startup.sh - ./sh /root/scripts/startup.sh