circleci v2

This commit is contained in:
Danny Coates 2018-02-25 15:44:46 -08:00
parent 74b9e364fe
commit fd2dfcc4f2
No known key found for this signature in database
GPG Key ID: 4C442633C62E00CB
2 changed files with 98 additions and 28 deletions

View File

@ -1,28 +1,97 @@
machine: version: 2.0
node: jobs:
version: 8 build:
services: docker:
- docker - image: circleci/node:8
- redis steps:
- checkout
deployment: - restore_cache:
latest: key: send-{{ checksum "package-lock.json" }}
branch: master - run: npm install
commands: - save_cache:
- docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS key: send-{{ checksum "package-lock.json" }}
- docker build -t mozilla/send:latest . paths:
- docker push mozilla/send:latest - node_modules
tags: - run: npm run build
tag: /.*/ - persist_to_workspace:
owner: mozilla root: .
commands: paths:
- docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS - ./*
- docker build -t mozilla/send:$CIRCLE_TAG . test:
- docker push mozilla/send:$CIRCLE_TAG docker:
- image: circleci/node:8-browsers
test: steps:
override: - checkout
- npm run build - restore_cache:
- npm run lint key: send-{{ checksum "package-lock.json" }}
- npm test - run: npm install
- nsp check - save_cache:
key: send-{{ checksum "package-lock.json" }}
paths:
- node_modules
- run: npm run check
- run: npm run lint
- run: npm test
deploy_dev:
machine: true
steps:
- attach_workspace:
at: .
- run: docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:latest .
- run: docker push mozilla/send:latest
deploy_stage:
machine: true
steps:
- attach_workspace:
at: .
- run: docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS
- run: docker build -t mozilla/send:$CIRCLE_TAG .
- run: docker push mozilla/send:$CIRCLE_TAG
workflows:
version: 2
test_pr:
jobs:
- test:
filters:
branches:
ignore: master
build_and_deploy_dev:
jobs:
- build:
filters:
branches:
only: master
tags:
ignore: /^v.*/
- deploy_latest:
requires:
- build
filters:
branches:
only: master
tags:
ignore: /^v.*/
build_and_deploy_stage:
jobs:
- build:
filters:
branches:
only: master
tags:
only: /^v.*/
- test:
filters:
branches:
only: master
tags:
only: /^v.*/
- deploy_stage:
requires:
- build
- test
filters:
branches:
only: master
tags:
only: /^v.*/

View File

@ -10,6 +10,7 @@
"scripts": { "scripts": {
"precommit": "lint-staged", "precommit": "lint-staged",
"prepush": "npm test", "prepush": "npm test",
"check": "nsp check",
"clean": "rimraf dist", "clean": "rimraf dist",
"build": "npm run clean && webpack -p", "build": "npm run clean && webpack -p",
"lint": "npm-run-all lint:*", "lint": "npm-run-all lint:*",