SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Travis CI
Easy and fun CI for your Plone packages

           Nejc Zupan, NiteoWeb Ltd.
Hosted Continuous Integration
for the Open Source Community
CONTINUOUS INTEGRATION




Run your tests often

Preferably on every commit

In a clean environment
+
BUILDS
SINGLE BUILD
SINGLE BUILD (CONT.)
Free for any public GitHub repo
Already ran +757k tests for +10k
      open-source projects
Crowdfunded:
+120k USD from +700 people
Supports:
C, C++, Clojure, Erlang, Go, Groovy,
 Haskell, Java, JavaScript, Perl, PHP,
      Python, Ruby, Scala
Preinstalled DBs:
MySQL, PostgreSQL, MongoDB,
CouchDB, Redis, Riak, RabbitMQ,
 Memcached, Cassandra, Neo4J,
 ElasticSearch, Kestrel, SQLite3
GETTING STARTED


Sign in to travis-ci.org with GitHub account

Enable repository

Add .travis.yml to your repository

Push it (p-push it real good)
MINIMAL CONFIG
MORE CONTROL
PREINSTALLED SERVICES
HEADLESS TESTING
BRANCHES
BUILD NOTIFICATIONS




           + many more
BUILD SKIPPING
BROWSER EXTENSIONS
STATUS IMAGES!
STATUS IMAGES

https://travis-ci.org/[YOUR_GITHUB_USERNAME]/
            [YOUR_PROJECT_NAME].png
PULL REQUESTS TESTING!
TRAVIS CI PRO
LIMITATIONS



15 minute build runtime limit

Very basic reporting (only console output)
TIMEOUTS ...
Use a non-ancient
zc.buildout version!
    (and buy @iElectric a beer!)
NETWORK SPEEDUPS
ASKO’S TRICK
+

   =
AWESOME!!!
MOAR ADVANTAGES



New devs on project with broken builds

Also for non-plone packages (simple Python libs)

Public CI for company owned public packages
(niteoweb.click2sell)
Thanks!
       http://travis-ci.org/

       https://github.com/collective/tutorial.todoapp/

       https://github.com/datakurre/robotsuite

       https://github.com/plone/plone.api

       https://github.com/gotcha/plone.act

       https://github.com/collective/collective.prettydate



Nejc Zupan, NiteoWeb Ltd.                                    Some images taken from sxc.hu

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
Juc boston2014.pptx
Juc boston2014.pptxJuc boston2014.pptx
Juc boston2014.pptx
 
Tugbot - Testing Framework for Docker Containers
Tugbot - Testing Framework for Docker ContainersTugbot - Testing Framework for Docker Containers
Tugbot - Testing Framework for Docker Containers
 
Introducing "Tugbot" for Docker Containers
Introducing "Tugbot" for Docker ContainersIntroducing "Tugbot" for Docker Containers
Introducing "Tugbot" for Docker Containers
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Using docker to develop NAS applications
Using docker to develop NAS applicationsUsing docker to develop NAS applications
Using docker to develop NAS applications
 
CI with Gitlab & Docker
CI with Gitlab & DockerCI with Gitlab & Docker
CI with Gitlab & Docker
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | Edureka
 
Jenkins Shared Libraries Workshop
Jenkins Shared Libraries WorkshopJenkins Shared Libraries Workshop
Jenkins Shared Libraries Workshop
 
Deploying to DigitalOcean With GitHub Actions
Deploying to DigitalOcean With GitHub ActionsDeploying to DigitalOcean With GitHub Actions
Deploying to DigitalOcean With GitHub Actions
 
FOSDEM 2017: GitLab CI
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CI
 
Docker 導入:障礙與對策
Docker 導入:障礙與對策Docker 導入:障礙與對策
Docker 導入:障礙與對策
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
 
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)
 
Git extension-training
Git extension-trainingGit extension-training
Git extension-training
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Why you can't ignore GitLab
Why you can't ignore GitLabWhy you can't ignore GitLab
Why you can't ignore GitLab
 
T3CON12 Flow and TYPO3 deployment with surf
T3CON12 Flow and TYPO3 deployment with surfT3CON12 Flow and TYPO3 deployment with surf
T3CON12 Flow and TYPO3 deployment with surf
 
Jenkins Scriptler in 90mins
Jenkins Scriptler in 90minsJenkins Scriptler in 90mins
Jenkins Scriptler in 90mins
 
Turbo boosting your python development
Turbo boosting your python developmentTurbo boosting your python development
Turbo boosting your python development
 

Andere mochten auch

Andere mochten auch (15)

London HUG 8/3 - JustEat - Andrew Brown / Alberto Blanco
London HUG 8/3 - JustEat - Andrew Brown / Alberto BlancoLondon HUG 8/3 - JustEat - Andrew Brown / Alberto Blanco
London HUG 8/3 - JustEat - Andrew Brown / Alberto Blanco
 
CryptoAUSTRALIA Announcement
CryptoAUSTRALIA AnnouncementCryptoAUSTRALIA Announcement
CryptoAUSTRALIA Announcement
 
CI comparison (Romobos-2017)
CI comparison (Romobos-2017)CI comparison (Romobos-2017)
CI comparison (Romobos-2017)
 
London HUG 8/3 - Developing a (VCD) Terraform Provider
London HUG 8/3 - Developing a (VCD) Terraform ProviderLondon HUG 8/3 - Developing a (VCD) Terraform Provider
London HUG 8/3 - Developing a (VCD) Terraform Provider
 
Go.cd - the tool that Jenkins ain't
Go.cd - the tool that Jenkins ain'tGo.cd - the tool that Jenkins ain't
Go.cd - the tool that Jenkins ain't
 
London HUG 14/4 - Infratructure mgmt
London HUG 14/4 - Infratructure mgmtLondon HUG 14/4 - Infratructure mgmt
London HUG 14/4 - Infratructure mgmt
 
Continuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container ServiceContinuous Delivery to Amazon EC2 Container Service
Continuous Delivery to Amazon EC2 Container Service
 
AWS Code{Commit,Deploy,Pipeline} (June 2016)
 AWS Code{Commit,Deploy,Pipeline} (June 2016) AWS Code{Commit,Deploy,Pipeline} (June 2016)
AWS Code{Commit,Deploy,Pipeline} (June 2016)
 
London Hug 19/5 - Terraform in Production
London Hug 19/5 - Terraform in ProductionLondon Hug 19/5 - Terraform in Production
London Hug 19/5 - Terraform in Production
 
London HUG 8/3 - Nomad
London HUG 8/3 - NomadLondon HUG 8/3 - Nomad
London HUG 8/3 - Nomad
 
London HUG 14/4 - Deploying and Discovering at Scale with Consul and Nomad
London HUG 14/4 - Deploying and Discovering at Scale with Consul and NomadLondon HUG 14/4 - Deploying and Discovering at Scale with Consul and Nomad
London HUG 14/4 - Deploying and Discovering at Scale with Consul and Nomad
 
Delivering Go.CD with Terraform and Docker
Delivering Go.CD with Terraform and DockerDelivering Go.CD with Terraform and Docker
Delivering Go.CD with Terraform and Docker
 
London HUG 19/5 - Kubernetes and vault
London HUG 19/5 - Kubernetes and vaultLondon HUG 19/5 - Kubernetes and vault
London HUG 19/5 - Kubernetes and vault
 
Hashicorp Nomad
Hashicorp NomadHashicorp Nomad
Hashicorp Nomad
 
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 PipelineDelivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
 

Ähnlich wie Travis CI: Fun and easy CI for your Plone packages

Ähnlich wie Travis CI: Fun and easy CI for your Plone packages (20)

Docker e git lab
Docker e git labDocker e git lab
Docker e git lab
 
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
 
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
Continuos Integration and Delivery: from Zero to Hero with TeamCity, Docker a...
 
FooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptxFooConf23_Bringing the cloud back down to earth.pptx
FooConf23_Bringing the cloud back down to earth.pptx
 
Jfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptxJfokus_Bringing the cloud back down to earth.pptx
Jfokus_Bringing the cloud back down to earth.pptx
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Deploying Kubernetes without scaring off your security team - KubeCon 2017
Deploying Kubernetes without scaring off your security team - KubeCon 2017Deploying Kubernetes without scaring off your security team - KubeCon 2017
Deploying Kubernetes without scaring off your security team - KubeCon 2017
 
Pipeline your pipelines!
Pipeline your pipelines!Pipeline your pipelines!
Pipeline your pipelines!
 
PVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CIPVS-Studio in the Clouds: Travis CI
PVS-Studio in the Clouds: Travis CI
 
How to Achieve more through Collaboration
How to Achieve more through Collaboration How to Achieve more through Collaboration
How to Achieve more through Collaboration
 
DevOps Practices @Pipedrive
DevOps Practices @PipedriveDevOps Practices @Pipedrive
DevOps Practices @Pipedrive
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
CICD_1670665418.pdf
CICD_1670665418.pdfCICD_1670665418.pdf
CICD_1670665418.pdf
 
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - SydneySimplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
 
Automate Your Automation | DrupalCon Vienna
Automate Your Automation | DrupalCon ViennaAutomate Your Automation | DrupalCon Vienna
Automate Your Automation | DrupalCon Vienna
 
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
stackconf 2020 | Enterprise CI/CD Integration Testing Environments Done Right...
 
CI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar DemriCI Implementation with Kubernetes at LivePerson by Saar Demri
CI Implementation with Kubernetes at LivePerson by Saar Demri
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 

Mehr von Nejc Zupan

Mehr von Nejc Zupan (9)

Don't Rely On Discipline
Don't Rely On DisciplineDon't Rely On Discipline
Don't Rely On Discipline
 
Building robust REST APIs
Building robust REST APIsBuilding robust REST APIs
Building robust REST APIs
 
Don't rely on discipline
Don't rely on disciplineDon't rely on discipline
Don't rely on discipline
 
Beyond 100% test coverage
Beyond 100% test coverageBeyond 100% test coverage
Beyond 100% test coverage
 
Pipenv: Python Dev Workflow for Humans
Pipenv: Python Dev Workflow for HumansPipenv: Python Dev Workflow for Humans
Pipenv: Python Dev Workflow for Humans
 
State of the art image recognition in 7 lines of Python
State of the art image recognition in 7 lines of PythonState of the art image recognition in 7 lines of Python
State of the art image recognition in 7 lines of Python
 
State Of The Art Image Recognition In 7 Lines Of Python
State Of The Art Image Recognition In 7 Lines Of PythonState Of The Art Image Recognition In 7 Lines Of Python
State Of The Art Image Recognition In 7 Lines Of Python
 
Bootstrapping Your Python Career
Bootstrapping Your Python CareerBootstrapping Your Python Career
Bootstrapping Your Python Career
 
Plone api
Plone apiPlone api
Plone api
 

Travis CI: Fun and easy CI for your Plone packages

Hinweis der Redaktion

  1. - I'm no way affiliated with Travis CI GmbH, I'm just a happy user. \n
  2. \n
  3. \n
  4. Jenkins is a open-source CI server you can install yourself.\nTravis is similar, but is a hosted service, tied into GitHub.\n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. It’s in “alpha” stage, raising donations to cover operation costs\n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. Plone has great package granularity -> good idea.\nBut, -> burden of more docs, more tests, more complex dev build\n-> less approachable\n\nLets start taking more responsibility for this and have all packages tested individually,\nin a minimal Plone environment, not just in one huge Jenkins build\n-> more approachable.\n\nJenkins: huge, integrated builds\nTravis: individual packages, add-ons\n
  36. \n
  37. \n