Skip to content

Propelo's Jenkins Plugin to report jobs's logs and metadata (Fork to sync with upstream)

License

Notifications You must be signed in to change notification settings

levelops/propelo-job-reporter-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

propelo-job-reporter

Propelo's Jenkins Plugin to send reports about jobs' logs and metadata to the Propelo Service.


Installation

Installation pre-requirements


  1. Have a Propelo account with permissions to add an integration.
  2. Have access and permissions to install plugins in Jenkins.


Instalation Steps


  1. Login to your Propelo account
  2. Access the Integrations Settings Tile.
Integrations Tile
  1. Add a new Jenkins integration
Add a Jenkins Integration Install the plugin Add a new instance
  1. Install the plugin

  2. Configure the plugin




Contributing


Build


  • Maven

    Steps:

    • Build command: mvn install

    • This creates an hpi file that can be uploaded to Jenkins:
      target/propelo-job-reporter.hpi

    Notes:

    • Use Java 8 to build otherwise there will be some issues with Javadoc step, e.g.:

      JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 mvn install
      

  • Gradle

    Steps:

    • Build command: JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ./gradlew clean build

    • This creates an hpi file that can be uploaded to Jenkins:
      build/libs/propelo-job-reporter.hpi

    Notes:

    • Use Java 8 to build otherwise there will be some issues with Javadoc step, e.g.:

      JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ./gradlew clean build
      

The findbugs step may fail (skipTests=true doesn't seem to work) but anaways runs after the build has been created



Deploy


Testing

Test while developing

  JENKINS_HOME=jenkins-job-reporter/work ./gradlew clean server

  JENKINS_HOME=jenkins-job-reporter/work JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ./gradlew clean server  

  GRADLE_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 JENKINS_HOME=jenkins-job-reporter/work JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 ./gradlew clean server  

Run Jenkins docker image:

  1. Blue Ocean Jenkins

    https://hub.docker.com/r/jenkinsci/blueocean/
    
  2. Officcial jenkins docker (lts or any specific version)

    docker run -d --name jenkins-dev -p 8080:8080 -p 50000:50000 --mount "type=bind,source=/<base path>/data/jenkins_dev,target=/var/jenkins_home" --env JAVA_OPTS=-Dhudson.footerURL=https://levelops.io jenkins/jenkins:lts
    
  • Run integration test class over Wiremock provided in resources


Develop


Jelly UI: https://wiki.jenkins.io/display/JENKINS/Jelly+form+controls

Knowledge Base


  • Adding Plugin Manually return error "413 Request Entity Too Large".
    This is a known issue with Jenkins Nginx default settings.
    Solution: Increase client max body size limit in Nginx config
    1. Edit Nginx config
      vi /etc/nginx/nginx.conf
    2. Add the following line to http or server or location context to increase the size limit
      \# set client body size to 20M \#  
       client_max_body_size 20M;
    3. Restart Nginx service
      service nginx reload
    References:
    Link to Jenkins Bug.
    Link to solution instructions.
    Link to Jenkins Gradle Plugin
    Link to Jenkins Gradle Plugin - GitHub

About

Propelo's Jenkins Plugin to report jobs's logs and metadata (Fork to sync with upstream)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.4%
  • HTML 0.6%