etclabscore / jade

[WIP] Jade - The next generation of web applications
Apache License 2.0
1 stars 1 forks source link

Feature/jenkins #10

Closed shanejonas closed 5 years ago

shanejonas commented 5 years ago

this feature is in response this ticket: #9

This feature proposes a project having a Jenkinsfile to configure your pipeline and an easy way of getting jenkins set up via docker-compose.jenkins.yml. It also proposes adding a JENKINS.md to provide documentation.

Why Jenkins?

You might wonder why jenkins is the winner here and not something like circleci or travis. We believe that the developer and devops and everyone should be able to run the pipeline on their own machine.

Pipeline As Code with Jenkins

With the intro of the Pipline plugin you can implement a projects entire build/test/deploy pipeline in a Jenkinsfile in your repository. This treats your pipeline as just another piece of code. Check it in.

Example and default Pipeline I've created to lint our commit messages:

Example pipeline:

pipeline {
  agent any
  stages {
    stage('commitlint') {
      steps {
        sh 'npm install -g commitlint'
        sh 'nodenv rehash'
        sh 'commitlint --config=commitlint.config.json .'
      }
    }
  }
}

What is installed on the Jenkins box:

docker, nodenv and node 8.12.0 are installed by default

For more information on GETTING STARTED check out JENKINS.md

image

TODO:

BelfordZ commented 5 years ago

Can we get a better version of node that 8xx?

Should at the very least have async await support.

shanejonas commented 5 years ago

The jenkins booting part of this is moved to etclabscore/jenkins-vagrant. and we should move JENKINS.md to etclabscore/pristine