diff --git a/.env.json b/.env.json new file mode 100644 index 000000000..0fa6162d9 --- /dev/null +++ b/.env.json @@ -0,0 +1,6 @@ +{ + "salixHost": "localhost", + "salixPort": "3306", + "salixUser": "root", + "salixPassword": "root" +} \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index d004f86bc..958de4d57 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -6,10 +6,14 @@ def branchTest = "test"; env.BRANCH_NAME = branchName; env.TAG = "${env.BUILD_NUMBER}"; +env.salixUser="${env.salixUser}"; +env.salixPassword="${env.salixPassword}"; switch (branchName){ case branchTest: env.NODE_ENV = "test"; + env.salixHost = "${env.testSalixHost}"; + env.salixPort = "${env.testSalixPort}"; break; case branchProduction: env.DOCKER_HOST = "tcp://172.16.255.29:2375"; @@ -20,7 +24,7 @@ switch (branchName){ node { stage ('Print environment variables'){ - echo "Branch ${branchName}, Build ${env.TAG}, NODE_ENV ${env.NODE_ENV} en docker Host ${env.DOCKER_HOST}" + echo "Branch ${branchName}, Build ${env.TAG}, salixHost ${env.salixHost}, NODE_ENV ${env.NODE_ENV} en docker Host ${env.DOCKER_HOST}" } stage ('Checkout') { checkout scm diff --git a/gulpfile.js b/gulpfile.js index e1b3df473..b2d6f6d3f 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -6,6 +6,7 @@ const exec = require('child_process').exec; const PluginError = require('plugin-error'); const argv = require('minimist')(process.argv.slice(2)); const log = require('fancy-log'); +const environment = require('gulp-env'); // Configuration @@ -37,7 +38,13 @@ let defaultPort = proxyConf.defaultPort; // Development gulp.task('default', () => { - return gulp.start('services', 'client'); + return gulp.start('environment', 'services', 'client'); +}); + +gulp.task('environment', async () => { + await environment({ + file: '.env.json' + }); }); gulp.task('client', ['build-clean'], async () => { @@ -48,7 +55,7 @@ gulp.task('client', ['build-clean'], async () => { * Starts all backend services, including the nginx proxy and the database. */ gulp.task('services', async () => { - await runSequenceP('docker-start', 'services-only', 'nginx'); + await runSequenceP('environment', 'docker-start', 'services-only', 'nginx'); }); /** @@ -137,7 +144,7 @@ gulp.task('install', () => { // Deployment gulp.task('build', ['clean'], async () => { - await runSequenceP(['routes', 'locales', 'webpack', 'docker-compose', 'nginx-conf']); + await runSequenceP(['environment', 'routes', 'locales', 'webpack', 'docker-compose', 'nginx-conf']); }); gulp.task('docker-compose', async () => { @@ -154,7 +161,9 @@ gulp.task('docker-compose', async () => { // dockerFile = 'Dockerfile'; composeYml.services[service.name] = { - environment: ['NODE_ENV=${NODE_ENV}'], + environment: ['NODE_ENV=${NODE_ENV}' ,'salixHost=${salixHost}', 'salixPort=${salixPort}', + 'salixUser=${salixUser}', 'salixPassword=${salixPassword}' + ], container_name: `\${BRANCH_NAME}-${service.name}`, image: `${service.name}:\${TAG}`, build: { @@ -480,7 +489,8 @@ gulp.task('docker-wait', callback => { let conn = mysql.createConnection({ host: 'localhost', - user: 'root' + user: 'root', + password: 'root' }); conn.on('error', () => {}); conn.connect(err => { diff --git a/package.json b/package.json index 059a1bedd..7b4c19023 100644 --- a/package.json +++ b/package.json @@ -44,6 +44,7 @@ "file-loader": "^1.1.6", "gulp": "^3.9.1", "gulp-concat": "^2.6.0", + "gulp-env": "^0.4.0", "gulp-extend": "^0.2.0", "gulp-install": "^1.1.0", "gulp-jasmine": "^3.0.0", diff --git a/services-test.config.js b/services-test.config.js deleted file mode 100644 index aa8866fc8..000000000 --- a/services-test.config.js +++ /dev/null @@ -1,24 +0,0 @@ -// const SpecReporter = require('jasmine-spec-reporter').SpecReporter; - -// module.exports = { -// reporter: new SpecReporter({ -// spec: { -// // displayStacktrace: 'summary', -// displaySuccessful: false, -// displayFailedSpec: true, -// displaySpecDuration: true -// } -// }), -// config: { -// spec_dir: 'services', -// spec_files: [ -// // '**/*.spec.js', -// 'auth/server/**/*.spec.js', -// 'client/common/**/*.spec.js', -// 'loopback/common/**/*.spec.js' -// ], -// helpers: [ -// '/services/utils/jasmineHelpers.js' -// ] -// } -// }; diff --git a/services/db/03-changes.sh b/services/db/03-changes.sh index 4e0d23d3a..0f714b2aa 100644 --- a/services/db/03-changes.sh +++ b/services/db/03-changes.sh @@ -2,5 +2,5 @@ for file in changes/*/*.sql; do echo "Importing $file" - mysql -u root < $file + mysql -u root -proot < $file done diff --git a/services/db/Dockerfile b/services/db/Dockerfile index 1cc2b17eb..55ca078d2 100644 --- a/services/db/Dockerfile +++ b/services/db/Dockerfile @@ -1,6 +1,6 @@ FROM mysql:5.6.37 -ENV MYSQL_ALLOW_EMPTY_PASSWORD yes +ENV MYSQL_ROOT_PASSWORD root ENV TZ GMT-1 WORKDIR /docker-entrypoint-initdb.d diff --git a/services/db/testing_fixtures.js b/services/db/testing_fixtures.js index ca525ccb1..a6e32c0d5 100644 --- a/services/db/testing_fixtures.js +++ b/services/db/testing_fixtures.js @@ -4,7 +4,7 @@ let connection = mysql.createConnection({ multipleStatements: true, host: 'localhost', user: 'root', - password: '', + password: 'root', database: 'salix' }); diff --git a/services/loopback/server/datasources.json b/services/loopback/server/datasources.json index da7bcd44a..945c81966 100644 --- a/services/loopback/server/datasources.json +++ b/services/loopback/server/datasources.json @@ -1,37 +1,41 @@ { "db": { + "name": "db", "connector": "memory" }, "vn": { + "name": "mysql", "connector": "mysql", "database": "vn", "debug": false, - "host": "localhost", - "port": 3306, - "username": "root", - "password": "", + "host": "${salixHost}", + "port": "${salixPort}", + "username": "${salixUser}", + "password": "${salixPassword}", "connectTimeout": 20000, "acquireTimeout": 20000 }, "salix": { + "name": "mysql", "connector": "mysql", "database": "salix", "debug": false, - "host": "localhost", - "port": 3306, - "username": "root", - "password": "", + "host": "${salixHost}", + "port": "${salixPort}", + "username": "${salixUser}", + "password": "${salixPassword}", "connectTimeout": 20000, "acquireTimeout": 20000 }, "account": { + "name": "mysql", "connector": "mysql", "database": "account", "debug": false, - "host": "localhost", - "port": 3306, - "username": "root", - "password": "", + "host": "${salixHost}", + "port": "${salixPort}", + "username": "${salixUser}", + "password": "${salixPassword}", "connectTimeout": 20000, "acquireTimeout": 20000 }, @@ -39,10 +43,10 @@ "connector": "mysql", "database": "edi", "debug": false, - "host": "localhost", - "port": 3306, - "username": "root", - "password": "", + "host": "${salixHost}", + "port": "${salixPort}", + "username": "${salixUser}", + "password": "${salixPassword}", "connectTimeout": 20000, "acquireTimeout": 20000 } diff --git a/services/mailer/application/config/datasources.json b/services/mailer/application/config/datasources.json index 865c68e47..6d489ec36 100644 --- a/services/mailer/application/config/datasources.json +++ b/services/mailer/application/config/datasources.json @@ -11,7 +11,7 @@ "port": 3306, "database": "vn", "user": "root", - "password": "" + "password": "root" }, "smtp": { "host": "localhost", diff --git a/services/print/application/config/datasources.json b/services/print/application/config/datasources.json index c797136ea..0c08c7d0a 100644 --- a/services/print/application/config/datasources.json +++ b/services/print/application/config/datasources.json @@ -9,7 +9,7 @@ "port": 3306, "database": "vn", "user": "root", - "password": "" + "password": "root" }, "pdf": { "format": "A4", diff --git a/services_tests.js b/services_tests.js index fe3c907da..cbd7e7f81 100644 --- a/services_tests.js +++ b/services_tests.js @@ -13,6 +13,9 @@ if (process.argv[2] === '--v') { var Jasmine = require('jasmine'); var jasmine = new Jasmine(); var SpecReporter = require('jasmine-spec-reporter').SpecReporter; +let environment = require('gulp-env'); + +environment(".env.json"); jasmine.loadConfig({ spec_dir: 'services',