diff --git a/greeting-cd-pipeline/Dockerfile b/greeting-cd-pipeline/Dockerfile new file mode 100644 index 000000000..6de785cc4 --- /dev/null +++ b/greeting-cd-pipeline/Dockerfile @@ -0,0 +1,7 @@ +FROM registry.access.redhat.com/ubi8/nodejs-12 + +# Copy app +COPY . . + +EXPOSE 3000 +ENTRYPOINT [ "node", "server" ] diff --git a/greeting-cd-pipeline/Jenkinsfile b/greeting-cd-pipeline/Jenkinsfile new file mode 100644 index 000000000..d87e91d70 --- /dev/null +++ b/greeting-cd-pipeline/Jenkinsfile @@ -0,0 +1,17 @@ +pipeline { + agent { label 'nodejs' } + + // Set your OCP project + environment { APP_NAMESPACE = '...' } + + stages{ + + stage('Test'){ + steps { + sh "node test.js" + } + } + + // Add more stages here + } +} diff --git a/greeting-cd-pipeline/greet.js b/greeting-cd-pipeline/greet.js new file mode 100644 index 000000000..c7bf01249 --- /dev/null +++ b/greeting-cd-pipeline/greet.js @@ -0,0 +1,3 @@ +module.exports = function greet(name) { + return `Hello ${name || "student"}`; +} diff --git a/greeting-cd-pipeline/server.js b/greeting-cd-pipeline/server.js new file mode 100644 index 000000000..3edafde73 --- /dev/null +++ b/greeting-cd-pipeline/server.js @@ -0,0 +1,16 @@ +const http = require("http"); +const url = require("url"); +const greet = require("./greet"); + +const server = http.createServer((req, res) => { + const { name } = url.parse(req.url, true).query; + res.statusCode = 200; + res.setHeader("Content-Type", "text/plain"); + res.setHeader("Access-Control-Allow-Origin", "*"); + res.end(greet(name)); +}); + +const port = 3000; +server.listen(port, () => { + console.log(`Server listening on ${port}`); +}); diff --git a/greeting-cd-pipeline/test.js b/greeting-cd-pipeline/test.js new file mode 100644 index 000000000..bbaf2a887 --- /dev/null +++ b/greeting-cd-pipeline/test.js @@ -0,0 +1,5 @@ +const assert = require("assert").strict; +const greet = require("./greet"); + +assert.strictEqual(greet(), "Hello student"); +assert.strictEqual(greet("Guy"), "Hello Guy");