Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- image: node:7.7.2-alpine
- stages:
- - build
- - test
- - review
- - deploy
- variables:
- TEST_IMAGE: registry.gitlab.example.com:4567/root/nodejs-express-todoapp:$CI_COMMIT_REF_NAME
- before_script:
- - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY
- build:
- stage: build
- script:
- - echo "BUILD"
- - docker-compose build
- - docker-compose push
- test:
- stage: test
- script:
- - echo "TEST"
- allow_failure: true
- review:
- stage: review
- script:
- - echo "REVIEW"
- when: manual
- deploy_dev:
- tags:
- - dev
- stage: deploy
- script:
- - echo "DEPLOY"
- - docker-compose up -d
- environment:
- name: dev
- url: http://$CI_COMMIT_REF_NAME.$CI_PROJECT_NAME.$GITLAB_USER_LOGIN.projects.example.com:3000
- only:
- - branches
- undeploy_dev:
- tags:
- - dev
- stage: deploy
- script:
- - docker-compose stop
- when: manual
- environment:
- name: dev
- action: stop
- FROM node:7.7.2-alpine
- WORKDIR /usr/app
- RUN apk update && apk add postgresql
- COPY package.json .
- RUN npm install --quiet
- COPY . .
- version: '3'
- services:
- web:
- build: .
- command: npm run dev
- volumes:
- - .:/usr/app/
- - /usr/app/node_modules
- ports:
- - "3000:3000"
- depends_on:
- - postgres
- environment:
- DATABASE_URL: postgres://todoapp@postgres/todos
- image: registry.gitlab.example.com:4567/root/nodejs-express-todoapp
- postgres:
- image: healthcheck/postgres:alpine
- environment:
- POSTGRES_USER: todoapp
- POSTGRES_DB: todos
- [[runners]]
- [runners.docker]
- privileged = true
Add Comment
Please, Sign In to add comment