Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

440
Visualizações
Docker/CI: obtenga acceso a la aplicación nodeJS, que se crea en otra etapa

En mi canalización de CI (gitlab) hay una etapa de compilación y de prueba final a final. En la etapa de construcción se crearán los archivos de la aplicación. Luego quiero copiar los archivos generados al contenedor e2e_testing para hacer algunas pruebas con esta aplicación.

¿Cómo copio los archivos generados (/opt/project/build/core/bundle) a la imagen?

Para las pruebas de e2e, quiero usar nightwatchJS; vea la imagen de la ventana acoplable e2e a continuación. ¿Tal vez sea posible usar la imagen de compilación dentro de la imagen e2e?

Lo que debo hacer es probar nightwatchJS e2e para la aplicación nodeJS generada


Mi intento

Copie los archivos generados en el contenedor e2e_testing con el comando docker cp .

 build: stage: build before_script: - meteor build /opt/project/build/core --directory script: - cd /opt/jaqua/build/core/bundle - docker build -t $CI_REGISTRY_IMAGE:latest . after_script: - docker cp /opt/project/build/core/bundle e2e_testing:/opt/project/build/core/

Pero esto no funciona, ya que la siguiente etapa (e2e) creará un contenedor a partir de la imagen e2e:latest . Por lo tanto, en este contenedor no existe una carpeta de paquetes, por lo que este script de muestra está fallando.

 e2e: image: e2e:latest stage: e2e before_script: - cd /opt/project/build/core/bundle && ls -la script: # - run nightwatchJS to do some e2e testing with the build bundle

e2e:última imagen Dockerfile

 FROM java:8-jre ## Node.js setup RUN curl -sL https://deb.nodesource.com/setup_4.x | bash - RUN apt-get install -y nodejs ## Nightwatch RUN npm install -g nightwatch

Se crea un contenedor llamado e2e_testing a partir de esta imagen y se ejecuta todo el tiempo. Entonces, en el momento en que se ejecuta la canalización de CI, el contenedor ya existe.

Pero en el momento en que se crea esta imagen, los archivos de la aplicación no existen, ya que se generan en la etapa de compilación. Entonces no puedo poner esos archivos en la imagen de la ventana acoplable usando un Dockerfile.

Entonces, ¿cómo puedo obtener acceso a los archivos generados en la etapa de compilación en la etapa e2e?

¿O es posible usar la imagen de compilación ($CI_REGISTRY_IMAGE:latest) dentro de la imagen de vigilancia nocturna (e2e)

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

¿Qué pasa con el uso de artefactos ?

Básicamente, mueva la carpeta del paquete a la raíz de su repositorio después de la compilación y defina la carpeta del paquete como un artefacto. Luego, desde el trabajo e2e, la carpeta del paquete se descargará de los artefactos de la etapa de construcción y podrá usar su contenido. He aquí un ejemplo de cómo hacer esto:

 build: stage: build before_script: - meteor build /opt/project/build/core --directory script: # Copy the contents of the bundle folder to ./bundle - cp -r /opt/project/build/core/bundle ./bundle - cd /opt/jaqua/build/core/bundle - docker build -t $CI_REGISTRY_IMAGE:latest . artifacts: paths: - bundle e2e: image: e2e:latest stage: e2e dependencies: - build script: - mkdir -p /opt/project/build/core/bundle - cp -r ./bundle /opt/project/build/core/bundle # - run nightwatchJS to do some e2e testing with the build bundle

No sé si todavía necesita la parte de docker build , así que la dejé allí en caso de que quiera empujar ese contenedor a alguna parte.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda