SlideShare une entreprise Scribd logo
1  sur  21
#JenkinsWorld
Azure DevOps Integrations with Jenkins
Arun + Damien
#JenkinsWorld
Azure DevOps integration with Jenkins
• Azure Storage plugin
• Azure Slave plugin v2
• Azure Container Service Plugin
• Azure DevOps Integrations
• Roadmap
#JenkinsWorld
Working “OnSight” in Mars with HoloLens and Jenkins
“Most of our terrain pipeline is implemented in
.NET. Microsoft released the .NET Core libraries
as open source in 2014.
We use the Jenkins continuous integration
system both to compile code for continuous
integration and to run our image processing
jobs.” – Parker Abercrombie (NASA JPL
Engineer)
Source: https://opensource.com/life/16/1/scale14x-interview-parker-abercrombie-nasa
#JenkinsWorld
Azure Plugin Configuration Script
• Script to configure all Azure plugins to access Azure resources
• Useful scenarios:
– Configure secrets into the plugin without needing to understand
Azure security model
– Run once, get the relevant keys to use across all plugins
• Available for limited preview:
– Contact us: azdevopspub@microsoft.com
Limited
Preview
#JenkinsWorld
0. Pipeline and steps used in the demo
Demo
1. Download
dependencies from
Azure storage
• Use Azure
Storage plugin -
download
2. Build the
application on
slaves
• Use Azure slave
plugin
3. Upload artifacts
to Azure storage
• Use Azure
Storage plugin -
upload
#JenkinsWorld
#JenkinsWorld
Azure Storage plugin
• Azure Storage plugin (0.3.1) that pushes and pulls content
from/to Azure Storage
• Useful scenarios:
– Upload: Build and package your app and upload it to Storage so that –
o You can share with partners,
o Share across multiple geos
o Share once, Deploy often
– Download: Download artifacts from storage so that –
o Share pre-requisites across your org in one central repository
o Ensure you get the latest version of dependencies
Available
Source: https://azure.microsoft.com/en-us/documentation/articles/storage-java-jenkins-continuous-integration-solution/
#JenkinsWorld
.NET Core on Jenkins in Azure
• All hosted in Azure with heavy GitHub integration
• Two primary Jenkins instances – One handles CI and other handles perf
• Job DSL + scripting to handle 95% of the system and job configuration.
• Jobs can be rebuilt from scratch from a single job.
• Runs 5000-7000 jobs/day.
• Most resources come from automatically allocated Azure VMs, though
there is some real hardware attach too.
• We scale down to < 100 machines at night, up to 300+ during the day.
#JenkinsWorld
Azure Slave v2 plugin
• Azure Slave plugin (v2) that deploys and controls slaves in Azure VM
• Provisions a VM if no slave is available:
– Based on the Azure marketplace image or your own custom image
– Leverages Azure Resource Management to enhance performance via
parallelism
• Useful scenarios:
– Lift and shift what you do on-prem to the cloud
– Transient dev/test environments to save on costs
– Elastic CI at scale with 100s of slaves
• Available for limited preview
– Contact us: azdevopspub@microsoft.com
Limited
Preview
#JenkinsWorld
Azure Slave v2 plugin
1. Define the template that
you want to use
2. Configure the image
#JenkinsWorld
Jenkins infra on Azure
• “Migrating to Azure simplifies and improves our infrastructure in a
dramatic way that would not be possible without a comprehensive
platform consisting of: compute, CDN, storage and data-store services.”
– R. Tyler Croy
• Azure also enables a couple of new projects for the community:
– End-to-end TLS encrypted distribution of Jenkins packages, plugins and
metadata via the Azure CDN.
– More complete build/test/release support and capacity on ci.jenkins.io for
plugin developers using Azure Container Service and generic VMs.
Source: https://jenkins.io/blog/2016/05/18/announcing-azure-partnership/
#JenkinsWorld
Azure Container Service plugin
• Azure Container Service plugin
• How it works:
– Creates the cluster if it does not exist and deploys per the Marathon file
– If the cluster exist, only the marathon file deployment will occur
– Leverages the ARM API
• Useful scenarios:
– Deploy Docker containers to Azure
– Simplify complexity of managing and configuring the DCOS cluster
– Azure takes care of the container orchestration
• Available for limited preview
– Contact us: azdevopspub@microsoft.com
Limited
Preview
#JenkinsWorld
Trigger Build
Dev checks in
code
Build app into
image Production
Immutable flow with Azure Container Service
StageTest
Private Container
Registry in Azure
Reuse same
“Golden Image” across stages
v2
#JenkinsWorld
Azure Container Service plugin New
1. Configure ACS
2. Configure Marathon
#JenkinsWorld #JenkinsWorld
Jenkins Master
Jenkins agents
Azure hosted
Jenkins
ACSVMs Storage
Azure Jenkins image in the marketplace
Web Apps
Public
Preview
#JenkinsWorld
Jenkins in the Azure Marketplace
Source: https://azure.microsoft.com/en-us/marketplace/?term=jenkins
Available
#JenkinsWorld #JenkinsWorld
Azure DevOps Integrations Portal
Public
Preview
• I am familiar with DevOps tool X, show me how to use it with Azure service Y in
a scenario Z
• How it works:
– Try common Jenkins scenarios on Azure for free with minimal configuration
• Available for public preview
– Link: http://aka.ms/trydevops
#JenkinsWorld
Trigger Build
Dev checks in
code Build app Productio
n
Reuse the same image across stages
Immutable flow with VMs
Bake app
into image
StageTest
Packer
#JenkinsWorld
Azure Jenkins Roadmap
• Currently available –
– Azure Storage plugin
– Azure Slave v1 plugin
• Public Preview over the next few weeks, of the following –
– Azure Jenkins marketplace image
– Azure plugin configuration script
– Azure DevOps integrations portal
• Limited Preview over fall and beyond that will let you –
– Azure Slave v2 plugin
– Azure Container Service plugin
• Future -
– Azure Web Apps plugin
– Jenkins integrations with Spinnaker
• For limited preview, contact us: azdevopspub@microsoft.com
#JenkinsWorld
Damien Caro
Technical Evangelist Manager
dcaro@microsoft.com
@dcaro
Arun Chandrasekhar
Senior Program Manager
achand@microsoft.com
Thank you !
AnswersQuestions
#JenkinsWorld

Contenu connexe

Tendances

Tendances (20)

Azure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservicesAzure Service Fabric: The road ahead for microservices
Azure Service Fabric: The road ahead for microservices
 
Innovation with Open Sources and App Modernization for Developers | Ian Y. Choi
Innovation with Open Sources and App Modernization for Developers | Ian Y. ChoiInnovation with Open Sources and App Modernization for Developers | Ian Y. Choi
Innovation with Open Sources and App Modernization for Developers | Ian Y. Choi
 
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
 
Building scalable applications using serverless on the cloud
Building scalable applications using serverless on the cloudBuilding scalable applications using serverless on the cloud
Building scalable applications using serverless on the cloud
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017
 
Spring to Image
Spring to ImageSpring to Image
Spring to Image
 
Accelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWSAccelerating DevOps Pipelines with AWS
Accelerating DevOps Pipelines with AWS
 
DevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San FranciscoDevOps on AWS: DevOps Day San Francisco
DevOps on AWS: DevOps Day San Francisco
 
Webinar: How and Why to Containerize Your Legacy Applications
Webinar: How and Why to Containerize Your Legacy ApplicationsWebinar: How and Why to Containerize Your Legacy Applications
Webinar: How and Why to Containerize Your Legacy Applications
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
The Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET frameworkThe Microservices world in. NET Core and. NET framework
The Microservices world in. NET Core and. NET framework
 
Resilient Microservices with Spring Cloud
Resilient Microservices with Spring CloudResilient Microservices with Spring Cloud
Resilient Microservices with Spring Cloud
 
Transform Enterprise IT Infrastructure with AWS DevOps
Transform Enterprise IT Infrastructure with AWS DevOpsTransform Enterprise IT Infrastructure with AWS DevOps
Transform Enterprise IT Infrastructure with AWS DevOps
 
PaaS and Container Innovation – What’s new with App Service
PaaS and Container Innovation – What’s new with App ServicePaaS and Container Innovation – What’s new with App Service
PaaS and Container Innovation – What’s new with App Service
 
How to build the Cloud Native applications the way you want – not the way the...
How to build the Cloud Native applications the way you want – not the way the...How to build the Cloud Native applications the way you want – not the way the...
How to build the Cloud Native applications the way you want – not the way the...
 
Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...
Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...
Deep Dive on Continuous Integration and Continuous Delivery in Anypoint Platf...
 
Spring: Your Next Java Micro-Framework
Spring: Your Next Java Micro-FrameworkSpring: Your Next Java Micro-Framework
Spring: Your Next Java Micro-Framework
 
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
Day 3 - DevOps Culture - Continuous Integration & Continuous Deployment on th...
 
Ed Elliott - Practical DSC in Azure
Ed Elliott - Practical DSC in AzureEd Elliott - Practical DSC in Azure
Ed Elliott - Practical DSC in Azure
 
Connect + Docker + AWS = Bitbucket Pipelines
Connect + Docker + AWS = Bitbucket PipelinesConnect + Docker + AWS = Bitbucket Pipelines
Connect + Docker + AWS = Bitbucket Pipelines
 

En vedette

En vedette (12)

Operational Best Practices in the Cloud
Operational Best Practices in the CloudOperational Best Practices in the Cloud
Operational Best Practices in the Cloud
 
Cloud computing Azure
Cloud computing AzureCloud computing Azure
Cloud computing Azure
 
Finding Evil In DNS Traffic
Finding  Evil In DNS TrafficFinding  Evil In DNS Traffic
Finding Evil In DNS Traffic
 
Microsoft Azure & Continuity: 5 Use Cases and Success Factors
Microsoft Azure & Continuity: 5 Use Cases and Success FactorsMicrosoft Azure & Continuity: 5 Use Cases and Success Factors
Microsoft Azure & Continuity: 5 Use Cases and Success Factors
 
Azure DRaaS v0.7
Azure DRaaS v0.7Azure DRaaS v0.7
Azure DRaaS v0.7
 
Disaster Recovery Planning using Azure Site Recovery
Disaster Recovery Planning using Azure Site RecoveryDisaster Recovery Planning using Azure Site Recovery
Disaster Recovery Planning using Azure Site Recovery
 
Business Continuity & Disaster Recovery with Microsoft Azure
Business Continuity & Disaster Recovery with Microsoft AzureBusiness Continuity & Disaster Recovery with Microsoft Azure
Business Continuity & Disaster Recovery with Microsoft Azure
 
Containerd Donation to CNCF Cloud Native Conference Berlin 2017
Containerd Donation to CNCF Cloud Native Conference Berlin 2017Containerd Donation to CNCF Cloud Native Conference Berlin 2017
Containerd Donation to CNCF Cloud Native Conference Berlin 2017
 
Docker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EEDocker Online Meetup: Announcing Docker CE + EE
Docker Online Meetup: Announcing Docker CE + EE
 
6 Storage Workloads Ideal for Microsoft Azure
6 Storage Workloads Ideal for Microsoft Azure6 Storage Workloads Ideal for Microsoft Azure
6 Storage Workloads Ideal for Microsoft Azure
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
TEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of WorkTEDx Manchester: AI & The Future of Work
TEDx Manchester: AI & The Future of Work
 

Similaire à Azure dev ops integrations with Jenkins

Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly
 

Similaire à Azure dev ops integrations with Jenkins (20)

Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container Service
 
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
(DVO305) Turbocharge YContinuous Deployment Pipeline with Containers
 
Jenkins as a Service - Code all the way down
Jenkins as a Service - Code all the way downJenkins as a Service - Code all the way down
Jenkins as a Service - Code all the way down
 
Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container Service
 
2016 Docker Palo Alto - CD with ECS and Jenkins
2016 Docker Palo Alto -  CD with ECS and Jenkins2016 Docker Palo Alto -  CD with ECS and Jenkins
2016 Docker Palo Alto - CD with ECS and Jenkins
 
Run UI Automation Tests using Selenium Grid and Azure Container Service (AKS)
Run UI Automation Tests using Selenium Grid and Azure Container Service (AKS)Run UI Automation Tests using Selenium Grid and Azure Container Service (AKS)
Run UI Automation Tests using Selenium Grid and Azure Container Service (AKS)
 
Announcing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck TalksAnnouncing AWS CodeBuild - January 2017 Online Teck Talks
Announcing AWS CodeBuild - January 2017 Online Teck Talks
 
Microservices with containers in the cloud
Microservices with containers in the cloudMicroservices with containers in the cloud
Microservices with containers in the cloud
 
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)
 
AKS - Azure Kubernetes Services - kubernetes meetup may 2018
AKS - Azure Kubernetes Services  - kubernetes meetup may 2018AKS - Azure Kubernetes Services  - kubernetes meetup may 2018
AKS - Azure Kubernetes Services - kubernetes meetup may 2018
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS
 
Build containerized application using Docker and Azure.pdf
Build containerized application using Docker and Azure.pdfBuild containerized application using Docker and Azure.pdf
Build containerized application using Docker and Azure.pdf
 
Velocity NYC 2016 - Containers @ Netflix
Velocity NYC 2016 - Containers @ NetflixVelocity NYC 2016 - Containers @ Netflix
Velocity NYC 2016 - Containers @ Netflix
 
dockerSAW
dockerSAWdockerSAW
dockerSAW
 
Continuous Delivery to Amazon ECS - AWS August Webinar Series
Continuous Delivery to Amazon ECS - AWS August Webinar SeriesContinuous Delivery to Amazon ECS - AWS August Webinar Series
Continuous Delivery to Amazon ECS - AWS August Webinar Series
 
Deploying Containers on Azure
Deploying Containers on AzureDeploying Containers on Azure
Deploying Containers on Azure
 
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB201904_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
04_Azure Kubernetes Service: Basic Practices for Developers_GAB2019
 
What's new in containers
What's new in containersWhat's new in containers
What's new in containers
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 

Dernier

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 

Dernier (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 

Azure dev ops integrations with Jenkins

  • 1. #JenkinsWorld Azure DevOps Integrations with Jenkins Arun + Damien
  • 2. #JenkinsWorld Azure DevOps integration with Jenkins • Azure Storage plugin • Azure Slave plugin v2 • Azure Container Service Plugin • Azure DevOps Integrations • Roadmap
  • 3. #JenkinsWorld Working “OnSight” in Mars with HoloLens and Jenkins “Most of our terrain pipeline is implemented in .NET. Microsoft released the .NET Core libraries as open source in 2014. We use the Jenkins continuous integration system both to compile code for continuous integration and to run our image processing jobs.” – Parker Abercrombie (NASA JPL Engineer) Source: https://opensource.com/life/16/1/scale14x-interview-parker-abercrombie-nasa
  • 4. #JenkinsWorld Azure Plugin Configuration Script • Script to configure all Azure plugins to access Azure resources • Useful scenarios: – Configure secrets into the plugin without needing to understand Azure security model – Run once, get the relevant keys to use across all plugins • Available for limited preview: – Contact us: azdevopspub@microsoft.com Limited Preview
  • 5. #JenkinsWorld 0. Pipeline and steps used in the demo Demo 1. Download dependencies from Azure storage • Use Azure Storage plugin - download 2. Build the application on slaves • Use Azure slave plugin 3. Upload artifacts to Azure storage • Use Azure Storage plugin - upload
  • 7. #JenkinsWorld Azure Storage plugin • Azure Storage plugin (0.3.1) that pushes and pulls content from/to Azure Storage • Useful scenarios: – Upload: Build and package your app and upload it to Storage so that – o You can share with partners, o Share across multiple geos o Share once, Deploy often – Download: Download artifacts from storage so that – o Share pre-requisites across your org in one central repository o Ensure you get the latest version of dependencies Available Source: https://azure.microsoft.com/en-us/documentation/articles/storage-java-jenkins-continuous-integration-solution/
  • 8. #JenkinsWorld .NET Core on Jenkins in Azure • All hosted in Azure with heavy GitHub integration • Two primary Jenkins instances – One handles CI and other handles perf • Job DSL + scripting to handle 95% of the system and job configuration. • Jobs can be rebuilt from scratch from a single job. • Runs 5000-7000 jobs/day. • Most resources come from automatically allocated Azure VMs, though there is some real hardware attach too. • We scale down to < 100 machines at night, up to 300+ during the day.
  • 9. #JenkinsWorld Azure Slave v2 plugin • Azure Slave plugin (v2) that deploys and controls slaves in Azure VM • Provisions a VM if no slave is available: – Based on the Azure marketplace image or your own custom image – Leverages Azure Resource Management to enhance performance via parallelism • Useful scenarios: – Lift and shift what you do on-prem to the cloud – Transient dev/test environments to save on costs – Elastic CI at scale with 100s of slaves • Available for limited preview – Contact us: azdevopspub@microsoft.com Limited Preview
  • 10. #JenkinsWorld Azure Slave v2 plugin 1. Define the template that you want to use 2. Configure the image
  • 11. #JenkinsWorld Jenkins infra on Azure • “Migrating to Azure simplifies and improves our infrastructure in a dramatic way that would not be possible without a comprehensive platform consisting of: compute, CDN, storage and data-store services.” – R. Tyler Croy • Azure also enables a couple of new projects for the community: – End-to-end TLS encrypted distribution of Jenkins packages, plugins and metadata via the Azure CDN. – More complete build/test/release support and capacity on ci.jenkins.io for plugin developers using Azure Container Service and generic VMs. Source: https://jenkins.io/blog/2016/05/18/announcing-azure-partnership/
  • 12. #JenkinsWorld Azure Container Service plugin • Azure Container Service plugin • How it works: – Creates the cluster if it does not exist and deploys per the Marathon file – If the cluster exist, only the marathon file deployment will occur – Leverages the ARM API • Useful scenarios: – Deploy Docker containers to Azure – Simplify complexity of managing and configuring the DCOS cluster – Azure takes care of the container orchestration • Available for limited preview – Contact us: azdevopspub@microsoft.com Limited Preview
  • 13. #JenkinsWorld Trigger Build Dev checks in code Build app into image Production Immutable flow with Azure Container Service StageTest Private Container Registry in Azure Reuse same “Golden Image” across stages v2
  • 14. #JenkinsWorld Azure Container Service plugin New 1. Configure ACS 2. Configure Marathon
  • 15. #JenkinsWorld #JenkinsWorld Jenkins Master Jenkins agents Azure hosted Jenkins ACSVMs Storage Azure Jenkins image in the marketplace Web Apps Public Preview
  • 16. #JenkinsWorld Jenkins in the Azure Marketplace Source: https://azure.microsoft.com/en-us/marketplace/?term=jenkins Available
  • 17. #JenkinsWorld #JenkinsWorld Azure DevOps Integrations Portal Public Preview • I am familiar with DevOps tool X, show me how to use it with Azure service Y in a scenario Z • How it works: – Try common Jenkins scenarios on Azure for free with minimal configuration • Available for public preview – Link: http://aka.ms/trydevops
  • 18. #JenkinsWorld Trigger Build Dev checks in code Build app Productio n Reuse the same image across stages Immutable flow with VMs Bake app into image StageTest Packer
  • 19. #JenkinsWorld Azure Jenkins Roadmap • Currently available – – Azure Storage plugin – Azure Slave v1 plugin • Public Preview over the next few weeks, of the following – – Azure Jenkins marketplace image – Azure plugin configuration script – Azure DevOps integrations portal • Limited Preview over fall and beyond that will let you – – Azure Slave v2 plugin – Azure Container Service plugin • Future - – Azure Web Apps plugin – Jenkins integrations with Spinnaker • For limited preview, contact us: azdevopspub@microsoft.com
  • 20. #JenkinsWorld Damien Caro Technical Evangelist Manager dcaro@microsoft.com @dcaro Arun Chandrasekhar Senior Program Manager achand@microsoft.com Thank you ! AnswersQuestions

Notes de l'éditeur

  1. All compatible with v2 Can be used in the Jenkins pipeline
  2. https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin Jenkins is a wonderful system for managing builds, and people love using its UI to configure jobs. Unfortunately, as the number of jobs grows, maintaining them becomes tedious, and the paradigm of using a UI falls apart. Additionally, the common pattern in this situation is to copy jobs to create new ones, these "children" have a habit of diverging from their original "template" and consequently it becomes difficult to maintain consistency between these jobs. The Jenkins job-dsl-plugin attempts to solve this problem by allowing jobs to be defined with the absolute minimum necessary in a programmatic form, with the help of templates that are synced with the generated jobs. The goal is for your project to be able to define all the jobs they want to be related to their project, declaring their intent for the jobs, leaving the common stuff up to a template that were defined earlier or hidden behind the DSL.
  3. Tyler uses ACS with swarm, however setting up a DCOS cluster for Mesos/Marathon in any cloud takes a lot of effort.