From 8775583088397a67a90d17207349a47c94547f43 Mon Sep 17 00:00:00 2001 From: Danny Coates Date: Fri, 23 Jun 2017 17:55:39 -0700 Subject: [PATCH] refactored docker build --- .dockerignore | 3 +++ Dockerfile | 2 +- circle.yml | 2 ++ package-lock.json | 30 +++++++++++++++++++----------- package.json | 14 +++++++------- 5 files changed, 32 insertions(+), 19 deletions(-) diff --git a/.dockerignore b/.dockerignore index f9b303f7..7522f1ba 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,3 +2,6 @@ node_modules .git .DS_Store static +test +scripts +docs diff --git a/Dockerfile b/Dockerfile index b4161a35..4b7916d1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ RUN chown -R app /app USER app WORKDIR /app RUN mkdir static -RUN npm install && npm cache clean --force +RUN npm install --production && npm cache clean --force ENV PORT=1443 EXPOSE $PORT diff --git a/circle.yml b/circle.yml index aede7079..05b4af0e 100644 --- a/circle.yml +++ b/circle.yml @@ -8,12 +8,14 @@ deployment: latest: branch: master commands: + - npm run predocker - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS - docker build -t mozilla/fileshare:latest . - docker push mozilla/fileshare:latest tags: tags: /.*/ commands: + - npm run predocker - docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS - docker build -t mozilla/fileshare:$CIRCLE_TAG . - docker push mozilla/fileshare:$CIRCLE_TAG diff --git a/package-lock.json b/package-lock.json index b5d398ee..678378cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "portal-alpha", - "version": "1.0.0", + "version": "0.1.0", "lockfileVersion": 1, "dependencies": { "accepts": { @@ -1037,9 +1037,9 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.0.0.tgz", - "integrity": "sha1-cnfAFDf99B3M0WjVqg5Jt1yh8mA=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.1.0.tgz", + "integrity": "sha1-u7VaKCIO4Itp2pVU1FprLr/X2RM=", "dev": true, "dependencies": { "concat-stream": { @@ -1336,7 +1336,8 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fsevents": { "version": "1.1.2", @@ -2027,7 +2028,8 @@ "git-rev-sync": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/git-rev-sync/-/git-rev-sync-1.9.1.tgz", - "integrity": "sha1-oMLj3TkqvPa3aWLif8dfsyI0Sc4=" + "integrity": "sha1-oMLj3TkqvPa3aWLif8dfsyI0Sc4=", + "dev": true }, "glob": { "version": "6.0.4", @@ -2287,7 +2289,8 @@ "interpret": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.3.tgz", - "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=" + "integrity": "sha1-y8NcYu7uc/Gat7EKgBURQBr8D5A=", + "dev": true }, "ipaddr.js": { "version": "1.3.0", @@ -3216,7 +3219,8 @@ "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", + "dev": true }, "path-platform": { "version": "0.11.15", @@ -3631,7 +3635,8 @@ "rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=" + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true }, "redent": { "version": "1.0.0", @@ -3703,7 +3708,8 @@ "resolve": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.3.tgz", - "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=" + "integrity": "sha1-ZVkHw0aahoDcLeOidaj91paR8OU=", + "dev": true }, "resolve-from": { "version": "1.0.1", @@ -3848,11 +3854,13 @@ "version": "0.7.7", "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.7.tgz", "integrity": "sha1-svXHfvlxSPS09uImguELuoZnz/E=", + "dev": true, "dependencies": { "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==" + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true } } }, diff --git a/package.json b/package.json index 37e9cd04..5c8999c2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "portal-alpha", - "description": "P2P File Sharing Experiment", - "version": "1.0.0", + "description": "File Sharing Experiment", + "version": "0.1.0", "author": "Mozilla (https://mozilla.org)", "dependencies": { "aws-sdk": "^2.62.0", @@ -12,7 +12,6 @@ "cross-env": "^5.0.1", "express": "^4.15.3", "express-handlebars": "^3.0.0", - "git-rev-sync": "^1.9.1", "helmet": "^3.6.1", "jquery": "^3.2.1", "mozlog": "^2.1.1", @@ -27,6 +26,7 @@ "eslint-plugin-mocha": "^4.11.0", "eslint-plugin-node": "^5.0.0", "eslint-plugin-security": "^1.4.0", + "git-rev-sync": "^1.9.1", "mocha": "^3.4.2", "npm-run-all": "^4.0.2", "prettier": "^1.4.4", @@ -43,14 +43,14 @@ "license": "MPL-2.0", "repository": "mozilla/something-awesome", "scripts": { - "bundle": "browserify frontend/src/main.js | uglifyjs > public/bundle.js && node scripts/version", - "dev": "watchify frontend/src/main.js -o public/bundle.js -d | node server/portal_server", + "predocker": "browserify frontend/src/main.js | uglifyjs > public/bundle.js && npm run version", + "dev": "npm run version && watchify frontend/src/main.js -o public/bundle.js -d | node server/portal_server", "format": "prettier '{frontend/src/,scripts/,server/,test/}*.js' 'public/*.css' --single-quote --write", "lint": "npm-run-all lint:*", "lint:css": "stylelint 'public/*.css'", "lint:js": "eslint .", - "prestart": "npm run bundle", "start": "cross-env NODE_ENV=production node server/portal_server", - "test": "mocha" + "test": "mocha", + "version": "node scripts/version" } }