Gitlabpipe道阶段需要几个小时或几天来显示结果(通过,失败) – docker,节点的应用程序

我正在使用Gitlab持续集成(.gitlab-ci.yml)和docker,docker-compose来构build,testing和部署我的节点应用程序,但构build和testing需要花费很多时间在gitlabpipe道上完成(在我的本地docker应用程序build立和testing运行顺利),我认为这不是正常的gitlab ci行为,我想我错过了一些东西,或者我使用错误的configuration

请检查下面的configuration(.gitlab-ci.yml)和底部的pipe道截图

.gitlab-ci.yml

# GitLab CI Docker Image image: node:6.10.0 # Build - Build necessary JS files # Test - Run tests # Deploy - Deploy application to ElasticBeanstalk stages: - build - test - deploy # Configuration variables: POSTGRES_DB: f_ci POSTGRES_USER: f_user POSTGRES_PASSWORD: sucof services: - postgres:latest cache: paths: - node_modules/ # Job: Build # Installs npm packages # Passes node_modules/ onto next steps using artifacts build:linux: stage: build script: - npm install artifacts: paths: - node_modules/ tags: - f-api # Job: Test # Run tests against our application # If this fails, we do not deploy test:linux: stage: test variables: NODE_ENV: continuous_integration script: - ./node_modules/.bin/sequelize db:migrate --env=continuous_integration - ./node_modules/.bin/sequelize db:seed:all --env=continuous_integration - npm test tags: - f-api # Job: Deploy # Staging environment deploy:staging:aws: stage: deploy script: - apt-get update -qq - apt-get -qq install python3 python3-dev - curl -O https://bootstrap.pypa.io/get-pip.py - python3 get-pip.py - pip install awsebcli --upgrade - mkdir ~/.aws/ - touch ~/.aws/credentials - printf "[default]\naws_access_key_id = %s\naws_secret_access_key = %s\n" "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" >> ~/.aws/credentials - touch ~/.aws/config - printf "[profile adm-eb-cli]\naws_access_key_id = %s\naws_secret_access_key = %s\n" "$AWS_ACCESS_KEY_ID" "$AWS_SECRET_ACCESS_KEY" >> ~/.aws/config - eb deploy f-api-stg environment: name: staging url: http://f-api-stg.gxnvwbgfma.ap-southeast-1.elasticbeanstalk.com tags: - f-api only: - staging # Job: Deploy # Production environment deploy:prod:aws: stage: deploy script: - echo "Deploy to production server" environment: name: production url: http://f-api.gxnvwbgfma.ap-southeast-1.elasticbeanstalk.com when: manual tags: - f-api only: - master 

Dockerfile

 FROM node:6.10.0 MAINTAINER Theodore GARSON-CORBEAUX <tgcorbeaux@maltem.com> # Create app directory ENV HOME=/usr/src/app RUN mkdir -p $HOME WORKDIR $HOME # Install api dependencies ADD package.json /usr/src/app/package.json RUN npm install ADD . /usr/src/app EXPOSE 3000 CMD ["npm","start"] 

泊坞窗,compose.yml

 version: "2.1" services: db_dev: image: postgres:latest ports: - "49170:5432" environment: - POSTGRES_USER=f_user - POSTGRES_PASSWORD=pass - POSTGRES_DB=f_dev healthcheck: test: "exit 0" db_test: image: postgres:latest ports: - "49171:5432" environment: - POSTGRES_USER=f_user - POSTGRES_PASSWORD=pass - POSTGRES_DB=f_test healthcheck: test: "exit 0" app: build: . environment: - NODE_ENV=development command: "npm start" ports: - "49160:3000" depends_on: db_dev: condition: service_healthy migrate: build: . environment: - NODE_ENV command: "./node_modules/.bin/sequelize db:migrate --env ${NODE_ENV}" depends_on: db_dev: condition: service_healthy db_test: condition: service_healthy healthcheck: test: "exit 0" populate_db: build: . environment: - NODE_ENV command: "./node_modules/.bin/sequelize db:seed:all --env ${NODE_ENV}" depends_on: migrate: condition: service_healthy healthcheck: test: "exit 0" depopulate_db: build: . environment: - NODE_ENV command: "./node_modules/.bin/sequelize db:seed:undo:all --env ${NODE_ENV}" depends_on: migrate: condition: service_healthy healthcheck: test: "exit 0" test: build: . environment: - NODE_ENV=test command: "npm test" depends_on: populate_db: condition: service_healthy 

在这里输入图像说明