Jordi Sola
2021-03-25 f286ca310b551cf3e6145ebd492cd2a7f000f3cb
add greeting-devsecops folder (#43)

5 files added
48 ■■■■■ changed files
greeting-devsecops/Dockerfile 7 ●●●●● patch | view | raw | blame | history
greeting-devsecops/Jenkinsfile 17 ●●●●● patch | view | raw | blame | history
greeting-devsecops/greet.js 3 ●●●●● patch | view | raw | blame | history
greeting-devsecops/server.js 16 ●●●●● patch | view | raw | blame | history
greeting-devsecops/test.js 5 ●●●●● patch | view | raw | blame | history
greeting-devsecops/Dockerfile
New file
@@ -0,0 +1,7 @@
FROM registry.access.redhat.com/ubi8/nodejs-12
# Copy app
COPY . .
EXPOSE 3000
ENTRYPOINT [ "node", "server" ]
greeting-devsecops/Jenkinsfile
New file
@@ -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
    }
}
greeting-devsecops/greet.js
New file
@@ -0,0 +1,3 @@
module.exports = function greet(name) {
    return `Hello ${name || "student"}`;
}
greeting-devsecops/server.js
New file
@@ -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}`);
});
greeting-devsecops/test.js
New file
@@ -0,0 +1,5 @@
const assert = require("assert").strict;
const greet = require("./greet");
assert.strictEqual(greet(), "Hello student");
assert.strictEqual(greet("Guy"), "Hello Guy");