SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixAll Things Open
 

Similaire à 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
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 

Dernier

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 

Dernier (20)

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 

SF Gradle Meetup - Netflix OSS

Notes de l'éditeur

  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