A simple nodejs application that utilizes Jenkins' REST API which allows users to view build logs and kick off new builds. This is used primarily by developers that work offsite and can't access Jenkins build servers due to firewall restrictions.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
This application requires LDAP for authentication. In addition to LDAP the following are also required:
nodejs: ">=6.9"
npm: ">=3.10.10"
MySQL ">=5.5"
if you want to run your mysql from a docker container you can use this command:
docker run -d -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=database -p 3306:3306 mysql
Clone the repository and cd into the new directory, run:
npm install
The following environment variables must be set:
JENKINS_VIEW=name_of_the_view_with_all_builds
MYSQL_HOST=localhost
MYSQL_USER=root
MYSQL_PASSWORD=password
MYSQL_DATABASE=database
LDAP_URL=ldaps://ldap.example.com:636
LDAP_ADMINDN=uid=myadminusername,ou=users,o=example.com
LDAP_PASSWORD=myadminsuserpassword
LDAP_SEARCHBASE=ou=users,o=example.com
node app.js
node app.js --prod
- Sails - MVC Framework
- nodejs - JavaScript Runtime
- npm - Dependency Management
- Bootstrap - HTML, CSS, JS front-end framework
- Thomas "Tom" Hastings - Initial work - PolarisAlpha
This project is licensed under the MIT License - see the LICENSE.md file for details
Thank you to the following individuals/projects for providing elements for this project:
- David Morse - Build / Deployment Support
- crypto-js - Encryption Module
- node-ldapauth-fork - LDAP Authentication
- node-jenkins-api - Node Jenkins API