SlideShare a Scribd company logo
1 of 18
Download to read offline
Netflix OSS With Gradle
@netflixoss
@NetflixOSS Progression
Cura
tor'
Auto'
Scali
ng'
Astyana
x'
Serv
o'
Pria
m'
Jmet
er'for'
C*'
Exhib
itor'
Archa
ius'
Asga
rd'
Chao
s'
Monk
ey'
Eure
ka'
Gover
nator'
Blitz
4J'
Hyst
rix'
Turbi
ne'
Janitor'
Monke
y'
Ribbo
n'
RxJav
a'
EVCac
he'
Deno
minat
or'
Karyo
n'
NeJlix'
Graph'
Recipe'
App'
CI'/'
Cloud
bees'
Amina
tor'
2012' 2013'
http://netflix.github.io/
My Role
• Engineering Tools
• We help, when and where we can
• Build, Bake, Deploy, Monkey
• Lead on internal Gradle and Ant builds
Environments
All of Maven Central
Publish to Sonatype
Maven On The Outside
Done in the public
Setup everything
No Maven Central
Publish to Artifactory
Ivy On The Inside
Legacy Conventions
Minimal Setup
Phase 0: Use Gradle
Phase 1: Naive Approach
• Copyable build
• build.gradle
• gradle/conventions.gradle
• gradle/maven.gradle
• gradle/netflix-oss.gradle
• Decent examples online
http://jedicoder.blogspot.com/2011/11/automated-gradle-project-deployment-to.html
ext.releaseVersion = '1.1.3' // TEMPLATE
ext.githubName = project.name // TEMPLATE
apply from: file('gradle/convention.gradle')
apply from: file('gradle/maven.gradle')
apply from: file('gradle/check.gradle')
group = 'com.netflix'
repositories {
mavenCentral()
}
dependencies { // TEMPLATE
compile 'javax.ws.rs:jsr311-api:1.1.1'
compile 'com.sun.jersey:jersey-core:1.11'
testCompile 'org.testng:testng:6.1.1'
testCompile 'org.mockito:mockito-core:1.8.5'
}
build.gradle
ext.performingRelease = project.hasProperty('release') &&
Boolean.parseBoolean(project.release)
def versionPostfix = performingRelease?'':'-SNAPSHOT'
version = "${releaseVersion}${versionPostfix}"
status = performingRelease?'release':'snapshot'
apply plugin: 'java' // Plugin as major conventions
sourceCompatibility = 1.6
// GRADLE-2087 workaround, perform after java plugin
status = rootProject.status
task sourcesJar(type: Jar, dependsOn:classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn:javadoc) {
classifier = 'javadoc'
  from javadoc.destinationDir
}
convention.gradle
apply plugin: 'maven'
apply plugin: 'signing'
signing { sign configurations.archives}
task uploadMavenCentral(type:Upload) {
configuration = configurations.archives
dependsOn signArchives
doFirst.repositories.mavenDeployer {
beforeDeployment { signing.signPom(it) }
repository(url: 'http://oss.sonatype.org/services/local/
staging/deploy/maven2/') {
authentication(userName: rroject.sonatypeUsername, password:
project.sonatypePassword)
}
pom.project {
url "https://github.com/Netflix/${project.githubName}"
...
}
}
}
maven.gradle
apply from: 'http://artifacts.netflix.com/gradle-netflix-local/
artifactory.gradle'
netflix-oss.gradle
gradle-template
• Be as visible as possible
• Meant to be synced with (#git #ftw)
• Templates for multiple-module and single-module
projects
• Used by other companies
• https://github.com/Netflix/gradle-template
Phase 2: Full Build
• Release plugin [gradle-release]
• Publish snapshots, candidates and releases
• Simpler signing in Jenkins
• License and Copyright Headers [license-gradle-plugin]
• Any plugins in Bintray
• Publishing Javadoc
• More code quality checks
Continuous Integration
• Jenkins Internally
• Performs releases
• Has Keys
• Access to AWS
• CloudBees DEV@CLOUD Externally
• Builds Pull Requests
• Shows Code Quality Metrics
Problem Areas
• Java plugin required for conf2scope mappings to work
• Java plugin resets status [GRADLE-2087]
• Parent poms caused problems, but aren’t needed
• Sonatype username/password
• Signing keys needed locally with special properties
• Not all plugins were available
Future
• Roll features into plugins
• Merge with internal build
• Hire more engineers to work on Gradle
@quidryan@quidryan
http://www.slideshare.net/quidryan
Thank You
Questions?
@netflixoss #cloudprize

More Related Content

What's hot

Breaking bad habits with GitLab CI
Breaking bad habits with GitLab CIBreaking bad habits with GitLab CI
Breaking bad habits with GitLab CIIvan Nemytchenko
 
FOSDEM 2017: GitLab CI
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CIOlinData
 
Vagrant - the essence of DevOps in a tool
Vagrant - the essence of DevOps in a toolVagrant - the essence of DevOps in a tool
Vagrant - the essence of DevOps in a toolPaul Stack
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsKnoldus Inc.
 
Gr8conf - The Groovy Ecosystem Revisited
Gr8conf - The Groovy Ecosystem RevisitedGr8conf - The Groovy Ecosystem Revisited
Gr8conf - The Groovy Ecosystem RevisitedAndres Almiray
 
Greach - The Groovy Ecosystem
Greach - The Groovy EcosystemGreach - The Groovy Ecosystem
Greach - The Groovy EcosystemAndres Almiray
 
Intro to Github Actions @likecoin
Intro to Github Actions @likecoinIntro to Github Actions @likecoin
Intro to Github Actions @likecoinWilliam Chong
 
High Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring BootHigh Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring BootDaniel Woods
 
Rundeck's History and Future
Rundeck's History and FutureRundeck's History and Future
Rundeck's History and Futuredev2ops
 
Intro to Git for Drupal 7
Intro to Git for Drupal 7Intro to Git for Drupal 7
Intro to Git for Drupal 7Chris Caple
 
Introduction to bower
Introduction to bowerIntroduction to bower
Introduction to bowerJitendra Zaa
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsBo-Yi Wu
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabShinu Suresh
 
Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014Rafe Colton
 
Groovy in the Cloud
Groovy in the CloudGroovy in the Cloud
Groovy in the CloudDaniel Woods
 
Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Giorgio Cefaro
 
Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36aleonhardt
 
Continuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIContinuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIalexanderkiel
 

What's hot (20)

Breaking bad habits with GitLab CI
Breaking bad habits with GitLab CIBreaking bad habits with GitLab CI
Breaking bad habits with GitLab CI
 
FOSDEM 2017: GitLab CI
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CI
 
Vagrant - the essence of DevOps in a tool
Vagrant - the essence of DevOps in a toolVagrant - the essence of DevOps in a tool
Vagrant - the essence of DevOps in a tool
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Implementing your own Google App Engine
Implementing your own Google App Engine Implementing your own Google App Engine
Implementing your own Google App Engine
 
Gr8conf - The Groovy Ecosystem Revisited
Gr8conf - The Groovy Ecosystem RevisitedGr8conf - The Groovy Ecosystem Revisited
Gr8conf - The Groovy Ecosystem Revisited
 
Greach - The Groovy Ecosystem
Greach - The Groovy EcosystemGreach - The Groovy Ecosystem
Greach - The Groovy Ecosystem
 
Intro to Github Actions @likecoin
Intro to Github Actions @likecoinIntro to Github Actions @likecoin
Intro to Github Actions @likecoin
 
High Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring BootHigh Performance Microservices with Ratpack and Spring Boot
High Performance Microservices with Ratpack and Spring Boot
 
Rundeck's History and Future
Rundeck's History and FutureRundeck's History and Future
Rundeck's History and Future
 
Intro to Git for Drupal 7
Intro to Git for Drupal 7Intro to Git for Drupal 7
Intro to Git for Drupal 7
 
Introduction to bower
Introduction to bowerIntroduction to bower
Introduction to bower
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLab
 
Dockercon EU 2014
Dockercon EU 2014Dockercon EU 2014
Dockercon EU 2014
 
Groovy in the Cloud
Groovy in the CloudGroovy in the Cloud
Groovy in the Cloud
 
Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015
 
Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36Taking Spinnaker for a spin @ London DevOps Meetup 36
Taking Spinnaker for a spin @ London DevOps Meetup 36
 
Continuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CIContinuous Deployment with Kubernetes, Docker and GitLab CI
Continuous Deployment with Kubernetes, Docker and GitLab CI
 
ConcourseCi Dockerimage
ConcourseCi DockerimageConcourseCi Dockerimage
ConcourseCi Dockerimage
 

Viewers also liked

Writing your Third Plugin
Writing your Third PluginWriting your Third Plugin
Writing your Third PluginJustin Ryan
 
webOS: The Web? We Haz It.
webOS: The Web? We Haz It.webOS: The Web? We Haz It.
webOS: The Web? We Haz It.Dave Balmer
 
Green Technology Staffing Presentation dhbw 2013
Green Technology Staffing Presentation dhbw 2013Green Technology Staffing Presentation dhbw 2013
Green Technology Staffing Presentation dhbw 2013Conrad Eß
 
Green Recruiting - Best Practices
Green Recruiting - Best PracticesGreen Recruiting - Best Practices
Green Recruiting - Best PracticesConrad Eß
 
台灣電視新聞台競爭環境-課前簡報
台灣電視新聞台競爭環境-課前簡報台灣電視新聞台競爭環境-課前簡報
台灣電視新聞台競爭環境-課前簡報s986413
 
市民政党ポデモスを生んだ スペインの社会的・政治的背景
市民政党ポデモスを生んだスペインの社会的・政治的背景市民政党ポデモスを生んだスペインの社会的・政治的背景
市民政党ポデモスを生んだ スペインの社会的・政治的背景Miguel Yasuyuki Hirota
 
Roda de conversa sobre OJS/SEER versão 2.4.3
Roda de conversa sobre OJS/SEER versão 2.4.3Roda de conversa sobre OJS/SEER versão 2.4.3
Roda de conversa sobre OJS/SEER versão 2.4.3Suelybcs .
 
Solidarity Economy: Another economy IN SERVICE FOR LIFE is happening
Solidarity Economy: Another economy IN SERVICE FOR LIFE is happeningSolidarity Economy: Another economy IN SERVICE FOR LIFE is happening
Solidarity Economy: Another economy IN SERVICE FOR LIFE is happeningMiguel Yasuyuki Hirota
 
法学专业网络资源
法学专业网络资源法学专业网络资源
法学专业网络资源Luchuan Wang
 
古典犯罪學之過去、現在與未來
古典犯罪學之過去、現在與未來古典犯罪學之過去、現在與未來
古典犯罪學之過去、現在與未來逸飛 陳
 
中国,法律与外国人:国际舞台上的相互交融 ("China, Law, and the Foreigner: Mutual Engagements on a...
中国,法律与外国人:国际舞台上的相互交融 ("China, Law, and the Foreigner: Mutual Engagements on a...中国,法律与外国人:国际舞台上的相互交融 ("China, Law, and the Foreigner: Mutual Engagements on a...
中国,法律与外国人:国际舞台上的相互交融 ("China, Law, and the Foreigner: Mutual Engagements on a...Larry Catá Backer
 
¿Qué es la oxidación? - Teoría monetaria de Silvio Gesell
¿Qué es la oxidación? - Teoría monetaria de Silvio Gesell¿Qué es la oxidación? - Teoría monetaria de Silvio Gesell
¿Qué es la oxidación? - Teoría monetaria de Silvio GesellMiguel Yasuyuki Hirota
 
Silvio gesell- EL ECONOMISTA SILENCIADO Y PROHIBIDO POR EL ESTABLISHMENT USUR...
Silvio gesell- EL ECONOMISTA SILENCIADO Y PROHIBIDO POR EL ESTABLISHMENT USUR...Silvio gesell- EL ECONOMISTA SILENCIADO Y PROHIBIDO POR EL ESTABLISHMENT USUR...
Silvio gesell- EL ECONOMISTA SILENCIADO Y PROHIBIDO POR EL ESTABLISHMENT USUR...Ramón Copa
 
Inteligencia Estratégica: el rol de las bibliotecas
Inteligencia Estratégica: el rol de las bibliotecasInteligencia Estratégica: el rol de las bibliotecas
Inteligencia Estratégica: el rol de las bibliotecasSocialBiblio
 
Open Access Publishing - The Journal of Medical Internet Research
Open Access Publishing - The Journal of Medical Internet ResearchOpen Access Publishing - The Journal of Medical Internet Research
Open Access Publishing - The Journal of Medical Internet ResearchGunther Eysenbach
 
O namoro de antigamente
O namoro de antigamenteO namoro de antigamente
O namoro de antigamenteNatercia
 

Viewers also liked (20)

Writing your Third Plugin
Writing your Third PluginWriting your Third Plugin
Writing your Third Plugin
 
webOS: The Web? We Haz It.
webOS: The Web? We Haz It.webOS: The Web? We Haz It.
webOS: The Web? We Haz It.
 
Green Technology Staffing Presentation dhbw 2013
Green Technology Staffing Presentation dhbw 2013Green Technology Staffing Presentation dhbw 2013
Green Technology Staffing Presentation dhbw 2013
 
Green Recruiting - Best Practices
Green Recruiting - Best PracticesGreen Recruiting - Best Practices
Green Recruiting - Best Practices
 
台灣電視新聞台競爭環境-課前簡報
台灣電視新聞台競爭環境-課前簡報台灣電視新聞台競爭環境-課前簡報
台灣電視新聞台競爭環境-課前簡報
 
市民政党ポデモスを生んだ スペインの社会的・政治的背景
市民政党ポデモスを生んだスペインの社会的・政治的背景市民政党ポデモスを生んだスペインの社会的・政治的背景
市民政党ポデモスを生んだ スペインの社会的・政治的背景
 
Roda de conversa sobre OJS/SEER versão 2.4.3
Roda de conversa sobre OJS/SEER versão 2.4.3Roda de conversa sobre OJS/SEER versão 2.4.3
Roda de conversa sobre OJS/SEER versão 2.4.3
 
Solidarity Economy: Another economy IN SERVICE FOR LIFE is happening
Solidarity Economy: Another economy IN SERVICE FOR LIFE is happeningSolidarity Economy: Another economy IN SERVICE FOR LIFE is happening
Solidarity Economy: Another economy IN SERVICE FOR LIFE is happening
 
Valencia, sep 2015
Valencia, sep 2015Valencia, sep 2015
Valencia, sep 2015
 
2009
20092009
2009
 
Lima, 15 de mayo de 2014
Lima, 15 de mayo de 2014Lima, 15 de mayo de 2014
Lima, 15 de mayo de 2014
 
法学专业网络资源
法学专业网络资源法学专业网络资源
法学专业网络资源
 
古典犯罪學之過去、現在與未來
古典犯罪學之過去、現在與未來古典犯罪學之過去、現在與未來
古典犯罪學之過去、現在與未來
 
Porto, 17 de janeiro de 2015
Porto, 17 de janeiro de 2015Porto, 17 de janeiro de 2015
Porto, 17 de janeiro de 2015
 
中国,法律与外国人:国际舞台上的相互交融 ("China, Law, and the Foreigner: Mutual Engagements on a...
中国,法律与外国人:国际舞台上的相互交融 ("China, Law, and the Foreigner: Mutual Engagements on a...中国,法律与外国人:国际舞台上的相互交融 ("China, Law, and the Foreigner: Mutual Engagements on a...
中国,法律与外国人:国际舞台上的相互交融 ("China, Law, and the Foreigner: Mutual Engagements on a...
 
¿Qué es la oxidación? - Teoría monetaria de Silvio Gesell
¿Qué es la oxidación? - Teoría monetaria de Silvio Gesell¿Qué es la oxidación? - Teoría monetaria de Silvio Gesell
¿Qué es la oxidación? - Teoría monetaria de Silvio Gesell
 
Silvio gesell- EL ECONOMISTA SILENCIADO Y PROHIBIDO POR EL ESTABLISHMENT USUR...
Silvio gesell- EL ECONOMISTA SILENCIADO Y PROHIBIDO POR EL ESTABLISHMENT USUR...Silvio gesell- EL ECONOMISTA SILENCIADO Y PROHIBIDO POR EL ESTABLISHMENT USUR...
Silvio gesell- EL ECONOMISTA SILENCIADO Y PROHIBIDO POR EL ESTABLISHMENT USUR...
 
Inteligencia Estratégica: el rol de las bibliotecas
Inteligencia Estratégica: el rol de las bibliotecasInteligencia Estratégica: el rol de las bibliotecas
Inteligencia Estratégica: el rol de las bibliotecas
 
Open Access Publishing - The Journal of Medical Internet Research
Open Access Publishing - The Journal of Medical Internet ResearchOpen Access Publishing - The Journal of Medical Internet Research
Open Access Publishing - The Journal of Medical Internet Research
 
O namoro de antigamente
O namoro de antigamenteO namoro de antigamente
O namoro de antigamente
 

Similar to SF Gradle Meetup - Netflix OSS

Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushPantheon
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesHiroshi SHIBATA
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 Tikal Knowledge
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Run your Java code on Cloud Foundry
Run your Java code on Cloud FoundryRun your Java code on Cloud Foundry
Run your Java code on Cloud FoundryAndy Piper
 
Container Native Development Tools - Talk by Mickey Boxell
Container Native Development Tools - Talk by Mickey BoxellContainer Native Development Tools - Talk by Mickey Boxell
Container Native Development Tools - Talk by Mickey BoxellOracle Developers
 
Quick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developersQuick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developersPaweł Żurowski
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang Bo
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsAmazon Web Services
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerJürgen Gutsch
 
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Chris Gates
 
An introduction to maven gradle and sbt
An introduction to maven gradle and sbtAn introduction to maven gradle and sbt
An introduction to maven gradle and sbtFabio Fumarola
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with DockerAnton Egorov
 
Dcjq node.js presentation
Dcjq node.js presentationDcjq node.js presentation
Dcjq node.js presentationasync_io
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil FrameworkVeilFramework
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Programaspyker
 

Similar to SF Gradle Meetup - Netflix OSS (20)

Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
Large-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 MinutesLarge-scaled Deploy Over 100 Servers in 3 Minutes
Large-scaled Deploy Over 100 Servers in 3 Minutes
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Run your Java code on Cloud Foundry
Run your Java code on Cloud FoundryRun your Java code on Cloud Foundry
Run your Java code on Cloud Foundry
 
Container Native Development Tools - Talk by Mickey Boxell
Container Native Development Tools - Talk by Mickey BoxellContainer Native Development Tools - Talk by Mickey Boxell
Container Native Development Tools - Talk by Mickey Boxell
 
Quick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developersQuick introduction to Angular 4 for AngularJS 1.5 developers
Quick introduction to Angular 4 for AngularJS 1.5 developers
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer ToolsDevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
DevOps on AWS: Accelerating Software Delivery with the AWS Developer Tools
 
React nativebeginner1
React nativebeginner1React nativebeginner1
React nativebeginner1
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & docker
 
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
 
An introduction to maven gradle and sbt
An introduction to maven gradle and sbtAn introduction to maven gradle and sbt
An introduction to maven gradle and sbt
 
1. react - native: setup
1. react - native: setup1. react - native: setup
1. react - native: setup
 
CICD_1670665418.pdf
CICD_1670665418.pdfCICD_1670665418.pdf
CICD_1670665418.pdf
 
Deliver Python Apps with Docker
Deliver Python Apps with DockerDeliver Python Apps with Docker
Deliver Python Apps with Docker
 
Dcjq node.js presentation
Dcjq node.js presentationDcjq node.js presentation
Dcjq node.js presentation
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil Framework
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 

Recently uploaded

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 

Recently uploaded (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 

SF Gradle Meetup - Netflix OSS

Editor's Notes

  1. Where it all beganLegal does horribly code reviews Freedom & Responsibility to release it
  2. We knew they’d be grow, though we never thought it’d be like this. Currently 26 Projects, all used internally in production: http://netflix.github.io/#repo
  3. Goals Establish our solutions as Best Practices/Standards Build up Netflix Technology Branch Retain and Engage Top Engineers Benefit from a shared ecosystemWhat Cloud Platform Undifferentiated Heavy Lifting
  4. With that in mind, we don’t have to make an open source build. But we should, since we’re the best placed to do it.
  5. Planned on using internally. Apply plugin: ‘java’
  6. Cobbled together from blog posts Users had to set version
  7. Attempting to mimic the internal build, where the minimum is specified.
  8. gradle-release version Tag in SCM Ensure builds against internal and external