Verigreen config.properties explanations - Verigreen/verigreen GitHub Wiki

Jenkins configuration

  • jenkins.url - Endpoint where Verigreen will find the Jenkins master.
    This need is the same value as the Jenkins URL parameter in Jenkins (Manage Jenkins > Configure System).
    Format: http[s]://<domain>:<port>/<path>
  • jenkins.user - The username in Jenkins that Verigreen uses for authentication when triggering jobs/verifications.
  • jenkins.password - The password or token for the user that Verigreen uses for authentication when triggering jobs/builds. Using a token instead of cleartext password is highly recommended.
  • jenkins.jobName - The name of the Jenkins job Verigreen uses to verify commits. For instance, if a Continuous Integration pipeline setup with Jenkins is in place, the verification may be comprised of a full or partial CI with the required compilation, packaging and test suites.
  • jenkins.branchParamName - The name of the string parameter configured within the verification Jenkins job. This parameter holds the temporary branch Verigreen creates. The Verification job will run on this temporary branch.
  • jenkins.timeoutInSeconds - The number of seconds to wait before the system sets the status of a build as TIME_OUT.

Git Configuration

  • git.repositoryLocation: The full path to the local git repository that Verigreen will use to perform actions on your project's code, such as creating temporary branches that will verify code integration. The path must include the .git folder as well.
  • git.protectedBranches: A comma-separated list containing the names of the branches in your remote git repository that you would like to protect/verify.
    Branches need to be specified with their refs/heads prefix.
    For example: refs/heads/master,refs/heads/verigreen
  • git.permittedUsers: A comma separated list of emails that are allowed to bypass Verigreen. The specified email address must be specified as the committer email field value in git.

JGitOperator configuration

  • commited.by.collector: The name to set for Verigreen user.name commits. A git configuration parameter.
  • email.address: The email to set as Verigreen's user.email commits. A git configuration parameter.

Mail configuration

  • mail.server: The SMTP mail server name to send emails with (e.g. smtp.domain.com).
    Verigreen does not support SMTP authentication at this time.

CacheCleanerJob and BranchCleanerJob configuration

  • daysThreashold - CacheCleanerJob/BranchCleanerJob - The number of days to keep the commit history. Any temporary branches for unsuccessful commits will also be deleted once this value is reached. Note: A successful process ends with the deletion of the temp branch

JobScheduler configuration

  • repeatHourlyForever - JobScheduler - The number of hours before the Verigreen wakes up to clear its old cache items and remove unneeded temporary branches, according to above threshold.
    For example, if daysThreashold=3 and repeatHourlyForever=5, then every 5 hours the delete temp branches job will run and will check from that point 3 days before – everything that is older than three days will be deleted.
  • repeatSecondlyForever - JobScheduler - The number of seconds after which Verigreen wakes up to process any undone items in the commit item list.
    The recommended value for this parameter is 10. Do not increase it unless there are over 15 commits being processed at the same time on a regular basis. Only increase this value if the timeout.counter is already very high (>10) but Verigreen still sets the Trigger_Failed status for commits items.

Timeout counter for Jenkins trigger

  • timeout.counter - The number of iterations after which Verigreen will stop trying to re-triggering a build (in case build was not triggered yet).
    The recommended value for this parameter is 6. Note: The total number of seconds before Verigreen will set the Trigger_Failed status for a commit build equals to: timeout.counter X repeatSecondlyForever. This is the number of seconds after which this status is set.
    In case, a long Quiet Period is set within the Jenkins job configuration, or Jenkins fails to respond within this interval (due to load, for example), please increase either of these parameters.
  • job.retry.counter - The number of Jenkins build re-trigger attempts to do before setting a process to TRIGGER_FAILED status.

Other Configurations

  • collectors - The display name to show within the Verigreen UI web page. This is used to identify the application, project, repository or customer name.

  • collector.address - The collector endpoint (REST); The FQDN / public IP address of the collector address – This is used for the collector's REST API, and is also specified in the notification email the system sends for failed of successful verifications.
    This is often the same value as need be manually specified within the hook.properties file.

  • hash.password - Related to the “Force Push” feature, which allows pushing commits even if they failed the required verifications. An approval by DevOps or Project Manager is recommended for suing this feature.
    Verigreen includes a jar that gets the password and return the hash. TODO: Add a link!

  • full.push - Enabled / Disabled – By definition, only TIME_OUT, GIT_FAILURE and TRIGGER_FAILED allow the Retry button to be used. If the full.push field is enabled then the Retry button will be enabled also for FAILED statuses. This may be needed if the verification job is unstable due to environment issues, for example.

Jenkins Additional Parameters

  • jenkinsparam.mode - allowd values are ‘param’ or ‘json’. If any part of the below fields are different from false then when VG is triggering Jenkins it will send additional parameters. If the below field is true then the name of the field, for example, jenkinsparam.parent, will be forwarded to Jenkins as is. However, if the field will be something else (for example jenkinsparam.parent=MyParent), then the Jenkins parameter that will be sent is the specified value, i.e., MyParent.
  • jenkinsparam.longid
  • jenkinsparam.parent
  • jenkinsparam.protected
  • jenkinsparam.commitid
  • jenkinsparam.committer
    Note: branch names are passed with the refs/heads prefix.

##FAQ page parameters In case the Internet connection is limited or restricted this parameter should be set to true in order to have access to the FAQ page
If there are no restrictions this parameter should be set to false, the FAQ page being accessed directly on the github page

  • faq.offline=<true|false> - This field should be set to false in case the user doesn't have access to the open network and can't reach github site.
    These properties should not be changed
faq.online.git=https://github.com/Verigreen/verigreen/wiki/Verigreen-FAQ#q-i-got-a-git_failure-status-what-does-it-mean  
faq.online.trigger=https://github.com/Verigreen/verigreen/wiki/Verigreen-FAQ#q-i-got-a-trigger_failed-status-what-does-it-mean  
faq.online.timeout=https://github.com/Verigreen/verigreen/wiki/Verigreen-FAQ#q-i-got-a-time_out-status-what-does-it-mean  
  • faq.offline.git=faqpage.html#q-i-got-a-git_failure-status-what-does-it-mean
  • faq.offline.trigger=faqpage.html#q-i-got-a-trigger_failed-status-what-does-it-mean
  • faq.offline.timeout=faqpage.html#q-i-got-a-time_out-status-what-does-it-mean

##Number of commits that will be handled at the same time

  • number.commits - How many processes will be defined in the Queue Manager for Vrigreen to processed in parallel.
⚠️ **GitHub.com Fallback** ⚠️