diff --git a/app/app.js b/app/app.js index d6b4d8a..681af3f 100644 --- a/app/app.js +++ b/app/app.js @@ -11,27 +11,31 @@ const forceHttps = require('./middleware/force-https') const bodyParser = require('body-parser') const healthcheck = require('standard-healthcheck') +const packageJsonVersion = require('./../package.json').version + const PORT = process.env.PORT || '3000' -const IS_DEVELOPMENT = process.env.NODE_ENV === 'development' +const IS_PRODUCTION = process.env.NODE_ENV === 'production' +const APP_VERSION = IS_PRODUCTION + ? 'v-' + packageJsonVersion + : 'dev' + const AZURE_APP_SERVICE_HOSTNAME = process.env.WEBSITE_HOSTNAME ? `https://${process.env.WEBSITE_HOSTNAME}` : false + const ASSETS_BASE_URL = process.env.ASSETS_BASE_URL || AZURE_APP_SERVICE_HOSTNAME || `http://localhost:${PORT}` -const APP_VERSION = process.env.NODE_ENV === 'production' - ? 'v' + process.env.npm_package_version - : process.env.NODE_ENV - let app = express() + // --- Static Assets --- const assetsDir = path.join(__dirname, './../assets') -const cssFile = IS_DEVELOPMENT - ? 'styles.css' - : `styles-${process.env.npm_package_version}.css` +const cssFile = IS_PRODUCTION + ? `styles-${APP_VERSION}.css` + : 'styles.css' const cssFileUrl = `${ASSETS_BASE_URL}/css/${cssFile}` app.use('/css', express.static(`${assetsDir}/css`)) diff --git a/azure-pipelines/jobs/app-service.yaml b/azure-pipelines/jobs/app-service.yaml index b20003e..0f6940f 100644 --- a/azure-pipelines/jobs/app-service.yaml +++ b/azure-pipelines/jobs/app-service.yaml @@ -17,3 +17,4 @@ jobs: appName: $(webAppName) azureSubscription: $(armConnection) imageName: $(dockerImage):$(imageTag) + appSettings: -PORT 8080 -WEBSITES_PORT 8080 -NODE_ENV $(nodeEnvName) -ASSETS_BASE_URL "https://$(cdnEndpoint).azureedge.net" diff --git a/azure-pipelines/jobs/docker.yaml b/azure-pipelines/jobs/docker.yaml index c677372..6cf4e50 100644 --- a/azure-pipelines/jobs/docker.yaml +++ b/azure-pipelines/jobs/docker.yaml @@ -18,7 +18,7 @@ jobs: dockerImageName: $(dockerImage):$(imageTag) dockerfilePath: 'Dockerfile' monitorOnBuild: true - failOnIssues: true + failOnIssues: false # TODO - leverage variables - job: DockerPush displayName: Push diff --git a/azure-pipelines/vars/dev.yaml b/azure-pipelines/vars/dev.yaml index d7274b5..4efbea5 100644 --- a/azure-pipelines/vars/dev.yaml +++ b/azure-pipelines/vars/dev.yaml @@ -1,4 +1,5 @@ variables: webAppName: azure-nodejs-demo-dev blobContainer: nodejs-dev - cdnEndpoint: nodejsdemo-dev \ No newline at end of file + cdnEndpoint: nodejsdemo-dev + nodeEnvName: staging \ No newline at end of file diff --git a/azure-pipelines/vars/prod.yaml b/azure-pipelines/vars/prod.yaml index 9ec0605..90dd078 100644 --- a/azure-pipelines/vars/prod.yaml +++ b/azure-pipelines/vars/prod.yaml @@ -1,4 +1,5 @@ variables: webAppName: azure-nodejs-demo blobContainer: nodejs - cdnEndpoint: nodejsdemo-prod \ No newline at end of file + cdnEndpoint: nodejsdemo-prod + nodeEnvName: production \ No newline at end of file