SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Kürzlich hochgeladen (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

SF Gradle Meetup - Netflix OSS

Hinweis der Redaktion

  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