SlideShare a Scribd company logo
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Automating Your Way
to Greatness
Combining OutSystems CI/CD with the power of
Jenkins and Azure
| Measure Customer Experience of Your OutSystems Web and Mobile Applications| Measure Customer Experience of Your OutSystems Web and Mobile Applications
Mark
Burns
Director Product Management | OutSystems
@
in
mark.burns@outsystems.com
https://www.linkedin.com/in/mark-burns-b2272b3/
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Goals of Today’s Session
● How to set up a fully automated OutSystems pipeline with
Jenkins and/or Azure DevOps
● Benefits for Developers and DevOps Engineers
| Combining OutSystems CI/CD with the power of Jenkins and Azure
An open platform
with No Limits!
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Open to be extended to
other CI/CD platforms
Jenkins, Azure DevOps,
TeamCity...
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Combine the best of
both worlds...
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Hi,
I completed a story before and tagged
and triggered the pipeline.
Let’s see how it went in Jenkins.
| Measure Customer Experience of Your OutSystems Web and Mobile Applications
What tools do you use for CI/CD automation?
● Jenkins
● Azure DevOps
● Bamboo
● GoCD
● TeamCity
● Travis CI
● CircleCI
● Other
| Combining OutSystems CI/CD with the power of Jenkins and Azure| Combining OutSystems CI/CD with the power of Jenkins and Azure
How it works
| Combining OutSystems CI/CD with the power of Jenkins and Azure
OutSystems LifeTime
LifeTime APIs
Jenkins / Azure DevOps pipeline
Python package
Git
Pipeline as
Code
Dev Regression Acceptance Pre-Prod Production
Trigger Pipeline
CI/CD probe
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Developer’s day in
life...
Responsible for:
● Cases application
● Write automated tests
● Tests passing in regression
● Fix code
| Combining OutSystems CI/CD with the power of Jenkins and Azure| Change session name in master slide
Demo
| Combining OutSystems CI/CD with the power of Jenkins and Azure| Combining OutSystems CI/CD with the power of Jenkins and Azure
Behind the scenes
| Combining OutSystems CI/CD with the power of Jenkins and Azure
OutSystems LifeTime
LifeTime APIs
Jenkins pipeline
Python package
Git
“Cases”
Pipeline as
Code
Dev Reg Acc PPrd Prd
Trigger Pipeline
“Cases” Pipeline
CI/CD probe
| Combining OutSystems CI/CD with the power of Jenkins and Azure| Combining OutSystems CI/CD with the power of Jenkins and Azure
How to set up
| Combining OutSystems CI/CD with the power of Jenkins and Azure
DevOps Engineer
day in life...
Responsibilities:
● Enables the CI/CD process
● Ensure delivery process is followed
and so automated
● Approve new versions to
production
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Hi!
Let me show you how to set up a
new pipeline using Jenkins!
| Combining OutSystems CI/CD with the power of Jenkins and Azure| Combining OutSystems CI/CD with the power of Jenkins and Azure
Set up a Jenkins pipeline
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Building an OutSystems pipeline with Jenkins
All the steps and resources
available in
github.com/OutSystems/out
systems-pipeline/
| Combining OutSystems CI/CD with the power of Jenkins and Azure| Change session name in master slide
Demo
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Hi,
Seems that I have a new
version of Cases app to
approve...
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Hi again!
Let me show you how you can
do it with Azure DevOps...
| Combining OutSystems CI/CD with the power of Jenkins and Azure| Combining OutSystems CI/CD with the power of Jenkins and Azure
Set up an Azure DevOps
pipeline
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Building an OutSystems pipeline with Azure DevOps
All the steps and resources
available in
github.com/OutSystems/
outsystems-pipeline/
| Combining OutSystems CI/CD with the power of Jenkins and Azure
OutSystems setup for Azure DevOps
● LifeTime Service Account
● CI/CD probe in regression
● LifeTime Trigger pipeline
plugin
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps setup
● Azure Pipelines self-
hosted agent in default
pool
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps setup
● Create a Variable Group
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Build Pipeline
Dev Reg Acc PPrd Prd
CI/CD probe
Build
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Build Pipeline
● Get the Pipeline
from a repository
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Build Pipeline
● Use YAML file
● Example provided
in
github.com/OutSystems/
outsystems-pipeline/
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Build Pipeline
● Link to the
variables group
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Release Pipeline
Dev Reg Acc PPrd Prd
CI/CD probe
Build Release
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Release Pipeline
● Import a task group
● Available in
github.com/OutSyst
ems/outsystems-
pipeline/
(used later in each
release stage)
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Release Pipeline
● Artifact from each
build of “Cases-Build-
Pipeline”
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Release Pipeline
● Create the
Acceptance stage
● Use and configure
the imported task
group
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Release Pipeline
● Clone the “Acceptance”
stage for Pre-
Production and
Production
● Set the configurations
for the new stages.
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Release Pipeline
Add an approver
after the
Acceptance stage
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Azure DevOps: Create the Release Pipeline
Done!
| Combining OutSystems CI/CD with the power of Jenkins and Azure
OutSystems + Azure DevOps: Some Runs...
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Does the Cases new version
reached Production?
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Summary
● How to integrate the OutSystems CI/CD with Jenkins and
Azure DevOps
● Benefits for a Developer and DevOps Engineer
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Try It
Give Feedback
Contribute
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Thank You!
@ injoao.bento@outsystems.com /joaofernandesbento
| Combining OutSystems CI/CD with the power of Jenkins and Azure
Automating Your Way to
Greatness
Combining OutSystems CI/CD with the power of
Jenkins and Azure

More Related Content

What's hot

Apigee Edge: Intro to Microgateway
Apigee Edge: Intro to MicrogatewayApigee Edge: Intro to Microgateway
Apigee Edge: Intro to Microgateway
Apigee | Google Cloud
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
Rahul Nath
 
Oracle Cloud Infrastructure
Oracle Cloud InfrastructureOracle Cloud Infrastructure
Oracle Cloud Infrastructure
MarketingArrowECS_CZ
 
Architecture 101 + Libraries
Architecture 101 + LibrariesArchitecture 101 + Libraries
Architecture 101 + Libraries
OutSystems
 
Migrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with ConfidenceMigrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with Confidence
David J Rosenthal
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
Felipe Artur Feltes
 
Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
Amazon Web Services
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
Cambay Digital
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
Guillermo Zepeda Selman
 
Welcome to Azure Devops
Welcome to Azure DevopsWelcome to Azure Devops
Welcome to Azure Devops
Alessandro Scardova
 
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and OpsKubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
Tomasz Cholewa
 
AKS
AKSAKS
Cbs aws-fundamentals-1
Cbs aws-fundamentals-1Cbs aws-fundamentals-1
Cbs aws-fundamentals-1
Luis Merino Troncoso
 
Azure AKS
Azure AKSAzure AKS
Azure AKS
Gaetan Jaminon
 
BPM Patterns & Best Practices with OutSystems BPT
BPM Patterns & Best Practices with OutSystems BPTBPM Patterns & Best Practices with OutSystems BPT
BPM Patterns & Best Practices with OutSystems BPT
Gonçalo Borrêga
 
Migrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft AzureMigrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft Azure
Chris Dufour
 
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデートOracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
オラクルエンジニア通信
 
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
apidays
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
GlobalLogic Ukraine
 
Amazon EKS multi-cluster gitops-bridge
Amazon EKS multi-cluster gitops-bridgeAmazon EKS multi-cluster gitops-bridge
Amazon EKS multi-cluster gitops-bridge
Carlos Santana
 

What's hot (20)

Apigee Edge: Intro to Microgateway
Apigee Edge: Intro to MicrogatewayApigee Edge: Intro to Microgateway
Apigee Edge: Intro to Microgateway
 
Azure DevOps CI/CD For Beginners
Azure DevOps CI/CD  For BeginnersAzure DevOps CI/CD  For Beginners
Azure DevOps CI/CD For Beginners
 
Oracle Cloud Infrastructure
Oracle Cloud InfrastructureOracle Cloud Infrastructure
Oracle Cloud Infrastructure
 
Architecture 101 + Libraries
Architecture 101 + LibrariesArchitecture 101 + Libraries
Architecture 101 + Libraries
 
Migrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with ConfidenceMigrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with Confidence
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 
Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
Instrumenting Kubernetes for Observability Using AWS X-Ray and Amazon CloudWa...
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
 
Azure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala MeetupAzure DevOps - Azure Guatemala Meetup
Azure DevOps - Azure Guatemala Meetup
 
Welcome to Azure Devops
Welcome to Azure DevopsWelcome to Azure Devops
Welcome to Azure Devops
 
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and OpsKubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
 
AKS
AKSAKS
AKS
 
Cbs aws-fundamentals-1
Cbs aws-fundamentals-1Cbs aws-fundamentals-1
Cbs aws-fundamentals-1
 
Azure AKS
Azure AKSAzure AKS
Azure AKS
 
BPM Patterns & Best Practices with OutSystems BPT
BPM Patterns & Best Practices with OutSystems BPTBPM Patterns & Best Practices with OutSystems BPT
BPM Patterns & Best Practices with OutSystems BPT
 
Migrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft AzureMigrate an Existing Application to Microsoft Azure
Migrate an Existing Application to Microsoft Azure
 
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデートOracle Cloud Infrastructure:2022年4月度サービス・アップデート
Oracle Cloud Infrastructure:2022年4月度サービス・アップデート
 
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
APIsecure 2023 - API orchestration: to build resilient applications, Cherish ...
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
 
Amazon EKS multi-cluster gitops-bridge
Amazon EKS multi-cluster gitops-bridgeAmazon EKS multi-cluster gitops-bridge
Amazon EKS multi-cluster gitops-bridge
 

Similar to Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power of Jenkins and Azure

Azure DevOps for QA Automation
Azure DevOps for QA AutomationAzure DevOps for QA Automation
Azure DevOps for QA Automation
Evgeny Popovich
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
Bhargav Amin
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
Callon Campbell
 
A Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWSA Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWS
Bhuvaneswari Subramani
 
Kubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platformKubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platform
Lorenzo Barbieri
 
B4UCconference_Building a CI/CD pipeline with effortless steps
B4UCconference_Building a CI/CD pipeline with effortless stepsB4UCconference_Building a CI/CD pipeline with effortless steps
B4UCconference_Building a CI/CD pipeline with effortless steps
Hoa Le
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
Callon Campbell
 
Kubernetes for .NET Developers
Kubernetes for .NET DevelopersKubernetes for .NET Developers
Kubernetes for .NET Developers
Lorenzo Barbieri
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
Scott Miao
 
Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020
Varun Manik
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
Amazon Web Services
 
DevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarDevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm Webinar
Codefresh
 
Kubernetes + Jenkins X: a Cloud Native Approach
Kubernetes + Jenkins X: a Cloud Native ApproachKubernetes + Jenkins X: a Cloud Native Approach
Kubernetes + Jenkins X: a Cloud Native Approach
Thessaloniki Software Testing and QA meetup
 
CICD Pipeline - AWS Azure
CICD Pipeline - AWS AzureCICD Pipeline - AWS Azure
CICD Pipeline - AWS Azure
Ratan Das
 
CI CD using AWS Developer Tools Online Workshop
CI CD using AWS Developer Tools Online WorkshopCI CD using AWS Developer Tools Online Workshop
CI CD using AWS Developer Tools Online Workshop
Bhuvaneswari Subramani
 
XP Days Ukraine 2016 Building CD Pipeline in Azure
XP Days Ukraine 2016 Building CD Pipeline in AzureXP Days Ukraine 2016 Building CD Pipeline in Azure
XP Days Ukraine 2016 Building CD Pipeline in Azure
Sergii Kryshtop
 
Tekton_ArgoCD-_KCD_Taiwan-cicd-openshift
Tekton_ArgoCD-_KCD_Taiwan-cicd-openshiftTekton_ArgoCD-_KCD_Taiwan-cicd-openshift
Tekton_ArgoCD-_KCD_Taiwan-cicd-openshift
bashwen2022
 
Kubernetes vs App Service
Kubernetes vs App ServiceKubernetes vs App Service
Kubernetes vs App Service
Lorenzo Barbieri
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
Aleksandr Maklakov
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Janusz Nowak
 

Similar to Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power of Jenkins and Azure (20)

Azure DevOps for QA Automation
Azure DevOps for QA AutomationAzure DevOps for QA Automation
Azure DevOps for QA Automation
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
A Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWSA Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWS
 
Kubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platformKubernetes VS. App Service: When the orchestrator challenges the platform
Kubernetes VS. App Service: When the orchestrator challenges the platform
 
B4UCconference_Building a CI/CD pipeline with effortless steps
B4UCconference_Building a CI/CD pipeline with effortless stepsB4UCconference_Building a CI/CD pipeline with effortless steps
B4UCconference_Building a CI/CD pipeline with effortless steps
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
Kubernetes for .NET Developers
Kubernetes for .NET DevelopersKubernetes for .NET Developers
Kubernetes for .NET Developers
 
20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020Aws User Group Singapore Presentation Oct-21-2020
Aws User Group Singapore Presentation Oct-21-2020
 
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
AWS re:Invent 2016: Development Workflow with Docker and Amazon ECS (CON302)
 
DevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm WebinarDevOps with Azure, Kubernetes, and Helm Webinar
DevOps with Azure, Kubernetes, and Helm Webinar
 
Kubernetes + Jenkins X: a Cloud Native Approach
Kubernetes + Jenkins X: a Cloud Native ApproachKubernetes + Jenkins X: a Cloud Native Approach
Kubernetes + Jenkins X: a Cloud Native Approach
 
CICD Pipeline - AWS Azure
CICD Pipeline - AWS AzureCICD Pipeline - AWS Azure
CICD Pipeline - AWS Azure
 
CI CD using AWS Developer Tools Online Workshop
CI CD using AWS Developer Tools Online WorkshopCI CD using AWS Developer Tools Online Workshop
CI CD using AWS Developer Tools Online Workshop
 
XP Days Ukraine 2016 Building CD Pipeline in Azure
XP Days Ukraine 2016 Building CD Pipeline in AzureXP Days Ukraine 2016 Building CD Pipeline in Azure
XP Days Ukraine 2016 Building CD Pipeline in Azure
 
Tekton_ArgoCD-_KCD_Taiwan-cicd-openshift
Tekton_ArgoCD-_KCD_Taiwan-cicd-openshiftTekton_ArgoCD-_KCD_Taiwan-cicd-openshift
Tekton_ArgoCD-_KCD_Taiwan-cicd-openshift
 
Kubernetes vs App Service
Kubernetes vs App ServiceKubernetes vs App Service
Kubernetes vs App Service
 
HOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLDHOW TO DRONE.IO IN CI/CD WORLD
HOW TO DRONE.IO IN CI/CD WORLD
 
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
 

More from OutSystems

Innovating at the Speed of Business in the High-Bandwidth World of Digital Media
Innovating at the Speed of Business in the High-Bandwidth World of Digital MediaInnovating at the Speed of Business in the High-Bandwidth World of Digital Media
Innovating at the Speed of Business in the High-Bandwidth World of Digital Media
OutSystems
 
Beyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
Beyond “Location”: Informing Real-Estate Decisions Through Innovative TechnologyBeyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
Beyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
OutSystems
 
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
OutSystems
 
From Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
From Core Systems to Mobile Apps: Digital Transformation from the Inside-OutFrom Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
From Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
OutSystems
 
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
OutSystems
 
Fast and Furious: Modernizing Clinical Application
Fast and Furious: Modernizing Clinical ApplicationFast and Furious: Modernizing Clinical Application
Fast and Furious: Modernizing Clinical Application
OutSystems
 
What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?
OutSystems
 
Enrich Visually Google Map Information With Layers
Enrich Visually Google Map Information With LayersEnrich Visually Google Map Information With Layers
Enrich Visually Google Map Information With Layers
OutSystems
 
Using Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous TasksUsing Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous Tasks
OutSystems
 
Unattended OutSystems Installation
Unattended OutSystems InstallationUnattended OutSystems Installation
Unattended OutSystems Installation
OutSystems
 
The 4-Layer Architecture in Practice
The 4-Layer Architecture in PracticeThe 4-Layer Architecture in Practice
The 4-Layer Architecture in Practice
OutSystems
 
Speed up Development by Turning Web Blocks Into First-Class Citizens
Speed up Development by Turning Web Blocks Into First-Class CitizensSpeed up Development by Turning Web Blocks Into First-Class Citizens
Speed up Development by Turning Web Blocks Into First-Class Citizens
OutSystems
 
Service Actions
Service ActionsService Actions
Service Actions
OutSystems
 
Responsive Ui with Realtime Database
Responsive Ui with Realtime DatabaseResponsive Ui with Realtime Database
Responsive Ui with Realtime Database
OutSystems
 
Reactive Web Best Practices
Reactive Web Best PracticesReactive Web Best Practices
Reactive Web Best Practices
OutSystems
 
RADS - Rapid Application Design Sprint
RADS - Rapid Application Design SprintRADS - Rapid Application Design Sprint
RADS - Rapid Application Design Sprint
OutSystems
 
Pragmatic Innovation
Pragmatic InnovationPragmatic Innovation
Pragmatic Innovation
OutSystems
 
Troubleshooting Dashboard Performance
Troubleshooting Dashboard PerformanceTroubleshooting Dashboard Performance
Troubleshooting Dashboard Performance
OutSystems
 
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
OutSystems
 
Neo in Wonderland: Essential Tools for an Outsystems Architect
Neo in Wonderland: Essential Tools for an Outsystems ArchitectNeo in Wonderland: Essential Tools for an Outsystems Architect
Neo in Wonderland: Essential Tools for an Outsystems Architect
OutSystems
 

More from OutSystems (20)

Innovating at the Speed of Business in the High-Bandwidth World of Digital Media
Innovating at the Speed of Business in the High-Bandwidth World of Digital MediaInnovating at the Speed of Business in the High-Bandwidth World of Digital Media
Innovating at the Speed of Business in the High-Bandwidth World of Digital Media
 
Beyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
Beyond “Location”: Informing Real-Estate Decisions Through Innovative TechnologyBeyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
Beyond “Location”: Informing Real-Estate Decisions Through Innovative Technology
 
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
Beyond Digital Transformation: A Mandate for Disruptive Innovation in the Age...
 
From Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
From Core Systems to Mobile Apps: Digital Transformation from the Inside-OutFrom Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
From Core Systems to Mobile Apps: Digital Transformation from the Inside-Out
 
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
Orchestrating the Art of the Impossible Using Low-Code to Automate Manual Wor...
 
Fast and Furious: Modernizing Clinical Application
Fast and Furious: Modernizing Clinical ApplicationFast and Furious: Modernizing Clinical Application
Fast and Furious: Modernizing Clinical Application
 
What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?What Is Light BPT and How Can You Use it for Parallel Processing?
What Is Light BPT and How Can You Use it for Parallel Processing?
 
Enrich Visually Google Map Information With Layers
Enrich Visually Google Map Information With LayersEnrich Visually Google Map Information With Layers
Enrich Visually Google Map Information With Layers
 
Using Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous TasksUsing Processes and Timers for Long-Running Asynchronous Tasks
Using Processes and Timers for Long-Running Asynchronous Tasks
 
Unattended OutSystems Installation
Unattended OutSystems InstallationUnattended OutSystems Installation
Unattended OutSystems Installation
 
The 4-Layer Architecture in Practice
The 4-Layer Architecture in PracticeThe 4-Layer Architecture in Practice
The 4-Layer Architecture in Practice
 
Speed up Development by Turning Web Blocks Into First-Class Citizens
Speed up Development by Turning Web Blocks Into First-Class CitizensSpeed up Development by Turning Web Blocks Into First-Class Citizens
Speed up Development by Turning Web Blocks Into First-Class Citizens
 
Service Actions
Service ActionsService Actions
Service Actions
 
Responsive Ui with Realtime Database
Responsive Ui with Realtime DatabaseResponsive Ui with Realtime Database
Responsive Ui with Realtime Database
 
Reactive Web Best Practices
Reactive Web Best PracticesReactive Web Best Practices
Reactive Web Best Practices
 
RADS - Rapid Application Design Sprint
RADS - Rapid Application Design SprintRADS - Rapid Application Design Sprint
RADS - Rapid Application Design Sprint
 
Pragmatic Innovation
Pragmatic InnovationPragmatic Innovation
Pragmatic Innovation
 
Troubleshooting Dashboard Performance
Troubleshooting Dashboard PerformanceTroubleshooting Dashboard Performance
Troubleshooting Dashboard Performance
 
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
No API? No Problem! Let the Robot Do Your Work! Web Scraping and Automation W...
 
Neo in Wonderland: Essential Tools for an Outsystems Architect
Neo in Wonderland: Essential Tools for an Outsystems ArchitectNeo in Wonderland: Essential Tools for an Outsystems Architect
Neo in Wonderland: Essential Tools for an Outsystems Architect
 

Recently uploaded

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
ssuserad3af4
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Envertis Software Solutions
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 

Recently uploaded (20)

KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
316895207-SAP-Oil-and-Gas-Downstream-Training.pptx
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative AnalysisOdoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
Odoo ERP Vs. Traditional ERP Systems – A Comparative Analysis
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 

Automating Your Way to Greatness by Combining OutSystems CI/CD with the Power of Jenkins and Azure

  • 1. | Combining OutSystems CI/CD with the power of Jenkins and Azure Automating Your Way to Greatness Combining OutSystems CI/CD with the power of Jenkins and Azure
  • 2. | Measure Customer Experience of Your OutSystems Web and Mobile Applications| Measure Customer Experience of Your OutSystems Web and Mobile Applications Mark Burns Director Product Management | OutSystems @ in mark.burns@outsystems.com https://www.linkedin.com/in/mark-burns-b2272b3/
  • 3. | Combining OutSystems CI/CD with the power of Jenkins and Azure Goals of Today’s Session ● How to set up a fully automated OutSystems pipeline with Jenkins and/or Azure DevOps ● Benefits for Developers and DevOps Engineers
  • 4. | Combining OutSystems CI/CD with the power of Jenkins and Azure An open platform with No Limits!
  • 5. | Combining OutSystems CI/CD with the power of Jenkins and Azure Open to be extended to other CI/CD platforms Jenkins, Azure DevOps, TeamCity...
  • 6. | Combining OutSystems CI/CD with the power of Jenkins and Azure Combine the best of both worlds...
  • 7. | Combining OutSystems CI/CD with the power of Jenkins and Azure Hi, I completed a story before and tagged and triggered the pipeline. Let’s see how it went in Jenkins.
  • 8. | Measure Customer Experience of Your OutSystems Web and Mobile Applications What tools do you use for CI/CD automation? ● Jenkins ● Azure DevOps ● Bamboo ● GoCD ● TeamCity ● Travis CI ● CircleCI ● Other
  • 9. | Combining OutSystems CI/CD with the power of Jenkins and Azure| Combining OutSystems CI/CD with the power of Jenkins and Azure How it works
  • 10. | Combining OutSystems CI/CD with the power of Jenkins and Azure OutSystems LifeTime LifeTime APIs Jenkins / Azure DevOps pipeline Python package Git Pipeline as Code Dev Regression Acceptance Pre-Prod Production Trigger Pipeline CI/CD probe
  • 11. | Combining OutSystems CI/CD with the power of Jenkins and Azure Developer’s day in life... Responsible for: ● Cases application ● Write automated tests ● Tests passing in regression ● Fix code
  • 12. | Combining OutSystems CI/CD with the power of Jenkins and Azure| Change session name in master slide Demo
  • 13. | Combining OutSystems CI/CD with the power of Jenkins and Azure| Combining OutSystems CI/CD with the power of Jenkins and Azure Behind the scenes
  • 14. | Combining OutSystems CI/CD with the power of Jenkins and Azure OutSystems LifeTime LifeTime APIs Jenkins pipeline Python package Git “Cases” Pipeline as Code Dev Reg Acc PPrd Prd Trigger Pipeline “Cases” Pipeline CI/CD probe
  • 15. | Combining OutSystems CI/CD with the power of Jenkins and Azure| Combining OutSystems CI/CD with the power of Jenkins and Azure How to set up
  • 16. | Combining OutSystems CI/CD with the power of Jenkins and Azure DevOps Engineer day in life... Responsibilities: ● Enables the CI/CD process ● Ensure delivery process is followed and so automated ● Approve new versions to production
  • 17. | Combining OutSystems CI/CD with the power of Jenkins and Azure Hi! Let me show you how to set up a new pipeline using Jenkins!
  • 18. | Combining OutSystems CI/CD with the power of Jenkins and Azure| Combining OutSystems CI/CD with the power of Jenkins and Azure Set up a Jenkins pipeline
  • 19. | Combining OutSystems CI/CD with the power of Jenkins and Azure Building an OutSystems pipeline with Jenkins All the steps and resources available in github.com/OutSystems/out systems-pipeline/
  • 20. | Combining OutSystems CI/CD with the power of Jenkins and Azure| Change session name in master slide Demo
  • 21. | Combining OutSystems CI/CD with the power of Jenkins and Azure Hi, Seems that I have a new version of Cases app to approve...
  • 22. | Combining OutSystems CI/CD with the power of Jenkins and Azure Hi again! Let me show you how you can do it with Azure DevOps...
  • 23. | Combining OutSystems CI/CD with the power of Jenkins and Azure| Combining OutSystems CI/CD with the power of Jenkins and Azure Set up an Azure DevOps pipeline
  • 24. | Combining OutSystems CI/CD with the power of Jenkins and Azure Building an OutSystems pipeline with Azure DevOps All the steps and resources available in github.com/OutSystems/ outsystems-pipeline/
  • 25. | Combining OutSystems CI/CD with the power of Jenkins and Azure OutSystems setup for Azure DevOps ● LifeTime Service Account ● CI/CD probe in regression ● LifeTime Trigger pipeline plugin
  • 26. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps setup ● Azure Pipelines self- hosted agent in default pool
  • 27. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps setup ● Create a Variable Group
  • 28. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Build Pipeline Dev Reg Acc PPrd Prd CI/CD probe Build
  • 29. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Build Pipeline ● Get the Pipeline from a repository
  • 30. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Build Pipeline ● Use YAML file ● Example provided in github.com/OutSystems/ outsystems-pipeline/
  • 31. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Build Pipeline ● Link to the variables group
  • 32. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Release Pipeline Dev Reg Acc PPrd Prd CI/CD probe Build Release
  • 33. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Release Pipeline ● Import a task group ● Available in github.com/OutSyst ems/outsystems- pipeline/ (used later in each release stage)
  • 34. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Release Pipeline ● Artifact from each build of “Cases-Build- Pipeline”
  • 35. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Release Pipeline ● Create the Acceptance stage ● Use and configure the imported task group
  • 36. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Release Pipeline ● Clone the “Acceptance” stage for Pre- Production and Production ● Set the configurations for the new stages.
  • 37. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Release Pipeline Add an approver after the Acceptance stage
  • 38. | Combining OutSystems CI/CD with the power of Jenkins and Azure Azure DevOps: Create the Release Pipeline Done!
  • 39. | Combining OutSystems CI/CD with the power of Jenkins and Azure OutSystems + Azure DevOps: Some Runs...
  • 40. | Combining OutSystems CI/CD with the power of Jenkins and Azure Does the Cases new version reached Production?
  • 41. | Combining OutSystems CI/CD with the power of Jenkins and Azure Summary ● How to integrate the OutSystems CI/CD with Jenkins and Azure DevOps ● Benefits for a Developer and DevOps Engineer
  • 42. | Combining OutSystems CI/CD with the power of Jenkins and Azure Try It Give Feedback Contribute
  • 43. | Combining OutSystems CI/CD with the power of Jenkins and Azure Thank You! @ injoao.bento@outsystems.com /joaofernandesbento
  • 44. | Combining OutSystems CI/CD with the power of Jenkins and Azure Automating Your Way to Greatness Combining OutSystems CI/CD with the power of Jenkins and Azure

Editor's Notes

  1. [2min]
  2. [2 min] Introduce yourself
  3. [2min]
  4. (1min) It is open to be extended to any CI/CD platform. Today, you will see how to integrate it with Jenkins and Azure DevOps, but can be with TeamCity or other.
  5. [5 min] Before this presentation, as a developer, I completed a new user story, created the automated tests, and triggered the automatic deployment to the regression environment for testing. Let me check the status of the pipeline, oh God, it failed. Let me fix it in development. Open cases app and fix the code to change the status to Discarded instead of Closed. Click 1-click publish and return to LifeTime to tag; than trigger the pipeline (for demo purpose I am triggering manually but you can set up a timer to run it automatically after a tag)
  6. [5 min] Here you’re seeing the typical stages of a CI/CD pipeline. I will explain later what happens on each stage. click All of these stages are managed by LifeTime. LifeTime has a set of APIs which enables you to integrate with any CI/CD tool. click On top of those APIs we are promoting and open-source package in Python which accelerates this integration. So you don’t have to start learning how to call and orchestrate those LifeTime APIs. click Since it is in python, it can be used in any Operating System and any CI/CD automation tool as Jenkins, Azure, TeamCity, Bamboo, GoCD... click We are also providing some pipeline templates for Jenkins and Azure, so you can easily import them. Not only saves you time to set up but also you will be following a good practice by having the pipeline in a source control as code. So far so good? Two extra things you should know before I jump into the demo. click 1) How to trigger the pipeline? In the traditional development you have a commit or a pull request that triggers the pipeline. In OutSystems, the developers implement story of the backlog in the development environment, and click 1-CP everytime then want to see if it is ok. In moment that a developer believes the story is done, he goes to the LifeTime and tags the application with the version number. That procedure will trigger the pipeline. How? We have a “Trigger pipeline” plugin which you install in LifeTime, it will trigger the Jenkins or Azure Devops pipeline after the tagging. click 2) Last thing you should know, for CI purpose the developer needs to automate tests. Here we recommend you to do Behaviour-Driven Development tests. It can be done with the BDD framework available on forge <To understand how you can create those tests, there is a lab about “Testing With OutSystems” at 3:30pm> In order to dynamically find the tests to run for your pipeline you need to install the CI/CD probe in the regression environment, this component is also available on forge.
  7. [2 min] Let’s move to the demo I’m a developer now and I’m responsible for the application “Cases”. I implement also the automated test which should run in regression phase. So I also keep the regression step green and fix code if needed.
  8. 25 min so far
  9. [4 min] As a developer I fixed the code and published it in Dev. Then I went to Lifetime and I tagged cases app and triggered the pipeline Now, what is happening: The trigger pipeline plugin triggers the cases pipeline Since it have it define as code in Git, the Jenkins will fetch this pipeline template The pipeline is installed and will run the step defined using the python package as support to orchestrate the LifeTime API So the first step will be deploying the new cases version in Regression Then run the regression suite and get the results If it is ok, it will deploy in Acceptance (also called QA). Here your testers, PO or a Biz representative will validate the new features and will eventually accept this new release If that happens this new version will reach production but first a deployment dry-run happens in Pre-Production, an environment which mimics the production environment And that’s it
  10. 30min so far
  11. [2 min] Now I’m a DevOps Engineer, and I’m responsible for: Enable a CI/CD process Ensure the delivery process is followed, so the best way to do it is by automating it. Approve new versions to be deployed in production according to Product Owner instruction (it can be the Product Owner or other Biz Representative directly)
  12. [10 min] Switch to Live configuration and have back up slides: The components required: 1. I need to install the CI/CD probe in the regression environment. This component is responsible for interacting with Jenkins to execute the tests and return the results. 2. I need to install the Trigger Pipeline component from Forge which allows you to set up the triggers which each unique pipeline that exists in your factory. 3. I will configure the Cases pipeline. 4. I will create a LifeTime service account. 5. Now, I am ready for Jenkins. I install pre-reqs, set up credentials to interact with LifeTime and I am ready to start creating my pipelines. 6. Here’s an example for my demo setup……. Continue, continue.
  13. 30min so far
  14. All the steps and resources are available in this GitHub repository. (It is currently available as read-only but you can leave your feedback and we will later open it for contributions.)
  15. [3 min] My Product Owner told me there is a new version of cases app to be promoted to Production…. (go to Jenkins) Yes the the regression tests have passed, the PO might have checked this version in acceptance environment and it is ready to be deployed to prod. All looks good and I am going to deploy to Prod.
  16. [4 min] Let me now briefly show you how you can set up the same pipeline in Azure DevOps.
  17. 30min so far
  18. Again, all the steps and resources are available in this GitHub repository.
  19. The steps in OutSystems side are similar to Jenkins The service account be used by Azure DevOps The CI/CD probe in regression environment Configure the Trigger Pipeline
  20. In Azure side, you need to have a self-hosted agent to run each pipeline command. Please follow the Microsoft documentation.
  21. Create a Variable Group with the list of variables to be used in the context of the pipelines. I named it as “CiCdVarGroup” here. We have here defined the LifeTime Service Account Token for instance and also the environment names.
  22. In Azure DevOps you need to define the Build part of you pipeline which will create the artifact to be released to production. We defined here the build part as the CI part, so the area that the Developer should be most focused on.
  23. The build pipeline can be defined as code.
  24. We provide you an example in YAML that you can use which has the build definition (deploy to regression and run the regression) Put it in your repository and change it to your scenario and then link it here.
  25. Link the Variable group you defined before to this pipeline.
  26. Build part is configured now let’s move to release pipeline part which will be trigger every time we have a new artifact passing from the build side.
  27. Currently the YAML feature is not available for this release pipeline. We hope all that Microsoft will deliver this feature in the future. Meanwhile you can use a task group available in our repository. Import it. It has all the tasks to call the python script to do the deploy on each release stage.
  28. Define that the release pipeline part will be trigger with the output of Build (if passed in regression tests).
  29. Create the Acceptance stage using the task group you imported before.
  30. Clone the Acceptance stage, and configure it for Pre-Production and Production Deploy
  31. Define the approval step after the Acceptance stage.
  32. The service account be used by Azure DevOps
  33. The trigger pipeline
  34. [3 min] I now return to see that my application has successfully been traversed the pipeline from development to production in 20 min. Summary the progression using a pre-staged set up pipeline results in Jenkins. A failed pipeline in regressions A pipeline which I reject in acceptance before reach production A green pipeline
  35. 2 min
  36. 55 min so far