Unified Language User Guides
iCR User Guide 4.2
iCR User Guide 4.2
  • Table of contents
    • Introduction
    • Overview
    • Authorizing Access to Your Source Code
      • Authenticating GitHub Access with a Cloud-Based VCS Repository Service
        • Authenticating GitHub Access with a Private VCS Repository
      • Authenticating GitLab Access with a Cloud-Based VCS Repository
        • Authenticating GitLab Access with a Private VCS Repository
      • Authenticating Bitbucket Access with a Cloud-Based VCS Repository
    • Using the Navigator
      • Connecting to the Navigator
      • Setting your User Password
      • The Navigator top banner
      • The Analysis Engine status
      • Selecting Your Source Code
        • Using a cloud-based VCS
        • Selecting your branch
        • Using a private VCS
        • Using a local project
        • Limiting the files to be analyzed
      • Integrating with your bug tracking system
        • Integrating with Jira - Define Your Project
        • Integrating with Jira - Authorizing Access for iCR
        • Integrating with Jira - Connecting with iCR
    • Using the Analysis Engine
      • Initiating an analysis
      • Monitoring the analysis
      • Interrupting the analysis
    • Reviewing your results
    • When you are complete
    • Integrating iCR Into Your CI/CD Workflows
      • Jenkins Workflow
        • Installing the plugin
        • Configuring the plugin
          • Creating a Personal Access Token
          • Copying Your Repository's URL
        • Viewing the Results
      • GitHub Actions Workflow
        • Workflow Overview
        • Preparing and Registering the Docker Image
        • Adding a Workflow to a Repository
        • Preparing the GitHub Workflow
          • Environment Variables
          • User Supplied Secrets
          • Setting the User Defined Secrets Values
        • Executing the Workflow
      • GitLab Workflow
        • Workflow Overview
        • Preparing the Docker Image
        • Configuring the GitLab Script variables
          • Environment Variables
          • User Supplied Variables
          • Creating a Personal Access Token
          • Setting the User Defined Variable Values
        • Executing the Workflow
      • Multiple Workflows
    • Appendix – Language Specific Fixer Lists
    • Appendix – Example Summary Report
    • Appendix - Sample Bug Listing
    • Appendix - Getting a BitBucket App Password for JENKINS
Powered by GitBook
On this page
  1. Table of contents

Integrating iCR Into Your CI/CD Workflows

PreviousWhen you are completeNextJenkins Workflow

Last updated 10 months ago

Frequent users of iCR may want to integrate iCR into their regular Continuous Integration/Continuous Deployment (CI/CD) operation. Integrating into the CI/CD workflow empowers the operations team to ensure that code is routinely checked for errors and that developers are given the opportunity to review and correct those errors.

A detailed description of how iCR may be integrated into CI/CD workflows is presented. Support for Jenkins, GitHub and GitLab, three of the most popular CI/CD workflow frameworks available, is provided.

Referencing the , you can determine where to find the CI/CD information from your iCR release package. In that package you will find a subdirectory named icr-CICD-package which holds 6 files to be used to integrate iCR into Jenkins, GitHub Actions or GitLab CI/CD pipelines. The subdirectory contains:

  1. icrPlugin.hpi: iCR supports Jenkins workflows which use a plugin to be inserted into workflows to trigger iCR. This file is the plugin which would be used with Jenkins.

  2. icr-gitlab.tar: This is the file containing the Docker image to be executed by GitLab to start an analysis via a CI/CD pipeline in GitLab.

  3. icr-github.tar: This is the file containing the Docker image to be executed by GitHub to start an analysis via a CI/CD pipeline in GitHub Actions.

  4. prep-container: For simplicity and convenience, OpenRefactory provides a simple script to make it easier to prepare the iCR code for insertion into the GitLab and GitHub CI/CD container registries.

  5. gitlab-ci.yml: When using a GitLab CI/CD pipeline, a yml script is required in each desired repository to activate iCR when the pipeline is executed. This is the sample script to be inserted into the User’s repository to cause iCR to be correctly invoked.

  6. githubAction.yml: When using a GitHub CI/CD pipeline, a yml script is required in each desired repository to activate iCR when the pipeline is executed. This is the sample script to be inserted into the User’s repository to cause iCR to be correctly invoked.

How these files are used will be covered in each of the following sections dealing with CI/CD workflows for each supported system.

Admin Guide