Closed ElenaMLopez closed 5 years ago
FROM node:11
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY scripts/*.sh ./scripts/
RUN npm run install-dependencies
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]
{
"name": "batimagen",
"version": "0.1.0",
"description": "Un proyecto sobre metadatos del guild de ciberseguridad",
"main": "server.js",
"scripts": {
"install-dependencies": "chmod +x scripts/*.sh && cd scripts && ./installation.sh",
"test": "echo \"Error: no test specified\" && exit 1",
"start": "npm run install-dependencies && npm run tokens && node server.js",
"tokens": "export GOOGLE_APPLICATION_CREDENTIALS='./SECRET_gcloud.json'"
},
"author": {
"name": "Open Source Weekends. Cibersecurity Guild",
"url": "https://osweekends.com"
},
"contributors": [
{
"name": "Ulises Gascón",
"url": "https://github.com/ulisesGascon"
},
{
"name": "Elena Mateos",
"url": "https://github.com/ElenaMLopez"
},
{
"name": "Carlos Crisóstomo Vals (Kr0n0)",
"url": "https://github.com/Kr0n0"
}
],
"license": "GPL-3.0",
"dependencies": {
"@google-cloud/vision": "0.19.0",
"body-parser": "1.18.2",
"express": "4.16.3",
"express-fileupload": "0.4.0",
"image-extensions": "1.1.0",
"mime-types": "2.1.18",
"node-exiftool": "2.3.0",
"node-virustotal": "2.4.2",
"pug": "2.0.3"
}
}
Tres recomendaciones :
node_modules
npm-debug.log
Gestionar en el Dockerfile el control de versiones con variables tipo :
LABEL osw.version.release.number="1.0"
LABEL osw.version.release.date="YYMMDD"
MAINTAINER usuario@dominio.com
De esta manera luego si se integra en un sistema CI podéis controlar con estas variables el versionado de manera sencilla.
Integrar el soporte travis CI con el docker dºe node y los tests : https://codeburst.io/ci-cd-with-github-travis-ci-and-heroku-e088a24f32ef
ya esta completado!
Como desarrollador deseo dockerizar la app.
Recursos: