From e2fa6666e81f9ecf82c6573c0a82b54730fc6b37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Ram=C3=ADrez?= Date: Tue, 15 Dec 2020 12:55:06 +0100 Subject: [PATCH] App for ch07s02 (#22) --- greeting-cd-pipeline/Dockerfile | 7 +++++++ greeting-cd-pipeline/Jenkinsfile | 17 +++++++++++++++++ greeting-cd-pipeline/greet.js | 3 +++ greeting-cd-pipeline/server.js | 16 ++++++++++++++++ greeting-cd-pipeline/test.js | 5 +++++ 5 files changed, 48 insertions(+) create mode 100644 greeting-cd-pipeline/Dockerfile create mode 100644 greeting-cd-pipeline/Jenkinsfile create mode 100644 greeting-cd-pipeline/greet.js create mode 100644 greeting-cd-pipeline/server.js create mode 100644 greeting-cd-pipeline/test.js 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");