Azure DevOps Open Source Integrations - Schedschd.ws/hosted_files/jenkinsworld20162017/01/Azure...

Post on 07-May-2018

268 views 3 download

Transcript of Azure DevOps Open Source Integrations - Schedschd.ws/hosted_files/jenkinsworld20162017/01/Azure...

Azure DevOps Open Source IntegrationsArun Chandrasekhar, Pui Chee Chan

Azure DevOps Open Source Integrations

Arun Chandrasekhar

Pui Chee Chan

Context

• Fit into multi-cloud strategy

– Deploy to Kubernetes

– Deploy to Web App on Linux

Recap - since Jenkins World 2016

• Running Jenkins on Azure:

– Jenkins Master in Azure Marketplace

– All Jenkins plugins for Azure are now pipeline ready

• First native support for deploying to Azure:

– Azure App Service plugin

• Jenkins on Azure resources:

– https://aka.ms/azjenkinshub

Kubernetes Integration

Follow immutable infrastructure practices to mitigate deployment risk

Reuse the same delivery pipeline on multiple clouds and for multiple apps

Provision and configure open source app platforms using Terraform & Ansible

Multi-cloud platform

Commit Build

Demo: Movie DB Java app

– Web app in Linux container

– Data apps in Kubernetes cluster (ACS)

– Azure Database for MySQL

– Azure storage for media content

https://github.com/azure-devops/movie-db-java-on-azure

Storage blob

Azure Container Registry

Data app/REST API on Kubernetes Clusters on ACS

Web App

Java Spring Boot app running on Linux containers on Azure App Service

Azure Function

Demo – CI/CD using Kubernetes

[NEW] Azure container agent

• Run build agents in Kubernetes on Azure

– Azure Container Instances (experimental)

Jenkins Core

Jenkins Master

Pod

Kubernetes(ACS/ACI)

DockerHub/ACR

Agent Image

Execute Job1

[NEW] Deploy to Kubernetes plugin

• Deploy to local Kubernetes cloud or to any configured Kubernetes cluster.

• We support open source and open source community!

Clone Repo Code

Build

Docker

Build

Docker

Push

Deploy

Secrets in

k8s

Expand

Variable in

Config File

Deploy

Config to

k8s

K8s Creates

Deployment

Read the latest image tag

from build output and apply

to the yaml file.

[NEW] Deploy to ACS plugin

• Deploy to Azure Container Service

– based on the “generic” Kubernetes plugin

Supports

ACS Plugin

K8S on Azure

Web App Integration

Adopt a simple, familiar toolchain for software delivery for Java

Define best-practice Jenkins pipelines for common workloads/scenarios

Use tools that integrate seamlessly with Maven, Spring, and other Java tools

Turnkey deployment to Azure from Jenkins

Demo – Deploy to App Service on Linux

App service plugin

Java update

Maven dev experience

App Service on Linux

Kubernetes on Azure

IntelliJ | Eclipse dev experiences

App Service on Linux

IntelliJ Community Edition

Coming soon:

Java support in Azure Functions

Azure SDK:Cosmos DB

Azure Container Service & Registry

Active Directory Graph

Spring on Azure

Spring Boot Starters for Azure Services

Roadmap

Coming next

— Key Vault support

— Deploy to Function for Java

Future:

— Hosted Jenkins high availability cluster

— Better single sign-on/AAD integration

Available by September:

– Container build agent for ACS/K8S

– Deploy to K8S

– Deploy to ACS - K8S, DC/OS & Docker Swarm

– Deploy to VM Scale Set

Question & Answer

• Arun Chandrasekhar, achand@microsoft.com

• Pui Chee (PC) Chan, puichan@microsoft.com

• Azure Jenkins Support, azurejenkins@microsoft.com

Help us prioritize – https://aka.ms/AzureLovesJenkins

Q&A

Thank you!

Resources (Jenkins)

• Solution Template on Azure Marketplace: https://aka.ms/jenkins-on-azure

• Deploy to app service plugin: https://aka.ms/azapp-service

• Container build agent for Azure Container Service(ACS)/Kubernetes

• Deploy to Kubernetes

• Deploy to K8S, DC/OS & Docker Swarm on Azure

• https://aka.ms/azjenkinshub

Resources (Java)

Java

Azure Management Libraries 1.1

https://github.com/azure/azure-sdk-for-java#sample-code

Maven

• Deploy a Spring Boot app to Azure App Service

• Deploy a containerized Spring Boot app to Azure App Service

• Deploy a containerized Spring Boot app to Azure App Service via Azure Container Registry

Resources (Java - continue)

Eclipse/IntelliJ

• GitHub Repo: https://github.com/Microsoft/azure-tools-for-java

• Eclipse: https://docs.microsoft.com/en-us/azure/azure-toolkit-for-eclipse

• IntelliJ: https://docs.microsoft.com/en-us/azure/azure-toolkit-for-intellij

Spring on Azure

• GitHub Repo: https://github.com/Microsoft/azure-spring-boot-starters