Compare commits

...
Sign in to create a new pull request.

6 commits

Author SHA1 Message Date
Student User
8c2d797d13 removed var 2021-07-09 08:05:47 -04:00
Student User
decebd1395 Ulysses 2021-07-09 08:04:07 -04:00
Student User
72afdb02db foo 2021-07-09 08:01:07 -04:00
Student User
fb23d37963 fix 2021-07-09 07:54:46 -04:00
Student User
88342e4a22 // 2021-07-09 07:51:58 -04:00
Student User
a77231a314 Completed Jenkinsfile for books microservice 2021-07-09 07:41:58 -04:00
3 changed files with 28 additions and 13 deletions

View file

@ -5,16 +5,16 @@ pipeline {
}
agent {
node {
//TODO: Add label for Node.js jenkins agent
label 'nodejs'
}
}
environment {
//TODO: Edit these vars as per your env
DEV_PROJECT = "youruser-books-dev"
STAGE_PROJECT = "youruser-books-stage"
APP_GIT_URL = "https://github.com/youruser/DO288-apps"
NEXUS_SERVER = "http://nexus-common.apps.cluster.domain.example.com/repository/nodejs"
DEV_PROJECT = "zqjsga-books-dev"
STAGE_PROJECT = "zqjsga-books-stage"
APP_GIT_URL = "https://github.com/shautvast/DO288-apps"
//NEXUS_SERVER = "http://nexus-common.apps.cluster.domain.example.com/repository/nodejs"
NEXUS_SERVER = "http://nexus-common.apps.eu45.prod.nextcle.com/repository/nodejs"
// DO NOT CHANGE THE GLOBAL VARS BELOW THIS LINE
APP_NAME = "books"
@ -58,7 +58,11 @@ pipeline {
'''
echo '### Creating a new app in DEV env ###'
//TODO: Create a new app and expose the service
sh '''
oc project ${DEV_PROJECT}
oc new-app --as-deployment-config --name books nodejs:12~${APP_GIT_URL} --build-env npm_config_registry=${NEXUS_SERVER} --context-dir ${APP_NAME}
oc expose svc/${APP_NAME}
'''
}
}
@ -99,7 +103,11 @@ pipeline {
timeout(time: 60, unit: 'MINUTES') {
input message: "Promote to Staging?"
}
//TODO: Tag the books:latest image stream as books:stage
script {
openshift.withCluster() {
openshift.tag("${DEV_PROJECT}/books:latest", "${STAGE_PROJECT}/books:stage")
}
}
}
}
@ -113,7 +121,11 @@ pipeline {
'''
echo '### Creating a new app in Staging ###'
//TODO: Create a new app in stage using the books:stage image stream and expose the service
sh '''
oc project ${STAGE_PROJECT}
oc new-app --name books -i books:stage --as-deployment-config
oc expose svc/${APP_NAME}
'''
}
}
@ -125,8 +137,12 @@ pipeline {
routeHost = readFile('routehost').trim()
openshift.withCluster() {
//TODO: Watch deployment until pod is in 'Running' state
openshift.withProject( "${STAGE_PROJECT}" ) {
def deployment = openshift.selector("dc", "${APP_NAME}").rollout()
openshift.selector("dc", "${APP_NAME}").related('pods').untilEach(1) {
return (it.object().status.phase == "Running")
}
}
echo "Deployment to Staging env is complete. Access the app at the URL http://${routeHost}."
}
}

View file

@ -4,7 +4,6 @@ const router = express.Router();
const authors = require('../data/authors');
var user;
/* GET users listing. */
router.get('/', (req, res) => {

View file

@ -34,7 +34,7 @@ describe('Books App routes test', () => {
.get('/authors')
.end((err, res) => {
expect(res).to.have.status(200);
expect(res.text).to.include('James_Joyce');
expect(res.text).to.include('James Joyce');
done();
});
});