48
Views
3
Comments
Outsystems Jenkins CICD

Hello,

I want to deploy Jenkins CI/CD on my OutSystems, but I am facing the following real-time issues:

  1. How can we include Dependency Modules/Applications in the Jenkins Pipeline?

  2. What are the different ways for Acceptance testing before going to the STAGING environment?

  3. How can we set the site properties in the Jenkins pipeline, as it is required to set them after each environment deployment?

  4. How can we include Warning or Error details in the Jenkins Pipeline so that we can monitor the status of the deployment?

  5. How can we include Unit Test Cases in the pipeline?

  6. What is the best way to create a pipeline for each environment? Should we have a separate pipeline for every deployment (e.g., Development to QA) or a single pipeline that leads up to the production environment?

2024-07-05 14-16-55
Daniël Kuhlmann
 
MVP

Hi Ruddraksh,

Many of your questions are answered in the official OutSystems documentation:

The link on the first bullet also points to a Jenkins Github repository called: Building an OutSystems pipeline with Jenkins with the templates you can use as a starting point.

If you use BDD Framework for unit testing, it contains an API that you can call from the Jenkins pipeline.

If you google you find multiple recorded sessions of expert explaining how you can implement CI/CD for OutSystems using Jenkins.

-- Daniel


UserImage.jpg
Rudraksh Vishwa

Hello Daniel,
For the first and the third questions, I am still not clear from the documentation. Can you please guide me on that also Can you please refer some of the recorded session which i can refer ?
Thanks in advance.

  1. How can we include Dependency Modules/Applications in the Jenkins Pipeline?

  2. What are the different ways for Acceptance testing before going to the STAGING environment?

  3. How can we set the site properties in the Jenkins pipeline, as it is required to set them after each environment deployment?

2024-07-05 14-16-55
Daniël Kuhlmann
 
MVP

Hi Rudraksh,

  1. We use https://www.outsystems.com/forge/component-overview/5670/trigger-pipeline-o11, the documentation of this forge component has some useful information and links.

  2. Acceptance testing is normally done by end-user/key-user or customer and a manual process. Only after a formal acceptance of the new version of your apps in Acceptance, you want to continue the pipeline to deploy to Pre-production and then Production. You can include this decision in your Jenkins pipeline, by asking letting the responsible person to confirm that the acceptance testing is completed successfully.

  3. Normally you set the site properties for an environment only once, on the first publish. Site properties related data is stored in the following OutSystems system's entities:

    SiteProperty_Shared is for non multi-tenant site properties, and Site_Property is for multi-tenant values. You could create an OnPublish timer, that would update the site properties once when it is deployed the first time to a target environment.
    The OutSystems LifeTime API unfortunately has no feature to set site property values on deploy.

-- Daniel

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.