dronetea-patch-1 #2

Merged
admin-tea merged 9 commits from dronetea-patch-1 into master 2023-02-04 15:38:15 +02:00
7 changed files with 139 additions and 9 deletions
+29
View File
@@ -0,0 +1,29 @@
---
kind: pipeline
name: node14
platform:
arch: arm64
steps:
- name: test14
image: node:14
commands:
- npm version
- npx --version
- npm install --only=dev
- npm test
---
kind: pipeline
name: node16
platform:
arch: arm64
steps:
- name: test16
image: node:16
commands:
- npm version
- npx --version
- npm install --only=dev
- npm test
+6
View File
@@ -0,0 +1,6 @@
FROM node
WORKDIR /app
ADD . /app
RUN npm install
EXPOSE 3000
CMD npm start
Vendored
+26 -9
View File
@@ -1,12 +1,29 @@
pipeline {
agent { docker { image 'node:14-alpine' } }
stages {
stage('build') {
steps {
sh 'npm --version'
sh 'npx --version'
sh 'node --version'
}
node {
def commit_id
stage('Preparation') {
checkout scm
commit_id = sh(returnStdout: true, script: "git log -n 1 --pretty=format:'%h'").trim()
}
stage('Test NPM') {
docker.image('node:8').inside {
sh 'npm install --only=dev'
sh 'npm test'
}
}
stage('Test with a DB') {
docker.image('mysql:8-oracle').withRun('-e MYSQL_ALLOW_EMPTY_PASSWORD=yes --rm') { mdb ->
docker.image('mysql:8-oracle').inside("--link ${mdb.id}:db") {
/* Wait until mysql service is up */
sh 'while ! mysqladmin ping -hdb --silent; do sleep 1; done'
}
docker.image('node:8').inside("--link ${mdb.id}:mysql") {
/*
* Run some tests which require MySQL, and assume that it is
* available on the host name `db`
*/
sh 'npm install --only=dev'
sh 'npm test'
}
}
}
}
+35
View File
@@ -0,0 +1,35 @@
var express = require('express');
var app = express();
var mysql = require("mysql");
var con = mysql.createConnection({ host: process.env.MYSQL_HOST, user: process.env.MYSQL_USER, password: process.env.MYSQL_PASSWORD, database: process.env.MYSQL_DATABASE});
// mysql code
con.connect(function(err){
if(err){
console.log('Error connecting to db: ', err);
return;
}
console.log('Connection to db established');
con.query('CREATE TABLE IF NOT EXISTS visits (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, ts BIGINT)',function(err) {
if(err) throw err;
});
});
// Request handling
app.get('/', function (req, res) {
// create table if not exist
con.query('INSERT INTO visits (ts) values (?)', Date.now(),function(err, dbRes) {
if(err) throw err;
res.send('Hello World! You are visitor number '+dbRes.insertId);
});
});
// server
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
+13
View File
@@ -0,0 +1,13 @@
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('Hello World!');
});
var server = app.listen(3000, function () {
var host = server.address().address;
var port = server.address().port;
console.log('Example app listening at http://%s:%s', host, port);
});
+22
View File
@@ -0,0 +1,22 @@
{
"name": "myapp",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node index.js",
"test": "npm install inherits && mocha"
},
"engines": {
"node": "^4.6.1"
},
"dependencies": {
"express": "^4.14.0",
"http-errors": "^1.7.0",
"mysql": "^2.10.2"
},
"devDependencies": {
"inherits": "^2.0.3",
"mocha": "^5.2.0",
"ms": "^2.1.1"
}
}
+8
View File
@@ -0,0 +1,8 @@
var assert = require('assert');
describe('Array', function() {
describe('#indexOf()', function() {
it('should return -1 when the value is not present', function() {
assert.equal(-1, [1,2,3].indexOf(4));
});
});
});