The care of open source creatures. Vincent Sanders

Size: px
Start display at page:

Download "The care of open source creatures. Vincent Sanders"

Transcription

1 The care of open source creatures Vincent Sanders

2 What am I on about? An examination of: What a services a project ought to have What options exist to fulfil those requirements A practical look at some implementations.

3 Open Source Life Cycle Planning Implementing Building Quality assurance Releasing

4 Planning Planning is usually a social activity Important to keep track of decisions Communication tools developers actually use Flexibility to achieve releases

5 Planning Infrastructure IRC creating channels on free networks like oftc or freenode is easy lists are less popular but easy way to communicate with lots of people Forums are easy to setup but can degenerate quickly Communication with users can occur here to get an idea of what they say they want.

6 Planning Infrastructure A wiki is good for longer term info

7 Implementing Code style Code documentation

8 Implementing source control Source control is mandatory GIT won the argument Have a merge policy Have a review policy

9 Implementing source control Gitano and cgit are great

10 Building Master branch should always build Getting the software built should be easy Build process should be documented Continuous integration

11 Building with Jenkins Jenkins is a CI tool Jobs can be triggered by GIT changes Jobs can be periodic Dependences between modules Good mechanisms for feedback

12 Deploying Jenkins

13 Deploying Jenkins

14 Metrics

15 Quality Assurance Static analysis Unit testing System testing Issue tracking Metrics

16 Static analysis

17 Static Analysis

18 Issue tracking All issue tracking systems are not ideal Go with the system that the fewest number of developers dislike Remember users have to report issues with it. The issue tracker needs a maintainer to be useful Double edged sword.

19 Mantis

20 Releasing All components of a project come together Tested build possibly with known issues Unreleased software does not exist The easier they are to make the more you do

21 Practical Releasing Create CI jobs triggered from a git tag Use git sub modules to create a unified source Use the CI system to perform build from generated source in known build environment.

22 Wrapping up These are all the parts an open source creature needs to thrive Just because a project has these components does not mean it will survive The outcome should justify the effort

23 Any Questions?

24 The care of open source creatures Vincent Sanders Book image from GrrlScientist on flikr

25 What am I on about? An examination of: What a services a project ought to have What options exist to fulfil those requirements A practical look at some implementations. Application Lifecycle Management horrid term but in common usage Like Team foundation Server but open source and not crappy If a project has more than a couple of active developers these are the kind of things that make those people more productive. The infrastructure should give benefits quickly but be robust enough to grow and adapt Keep it simple stupid, do not waste more developer time with infrastructure than you gain. This stuff is meant to let you spend more time doing software Historically sourceforge provided a lot of this, nowadays it is github.

26 Open Source Life Cycle Planning Implementing Building Quality assurance Releasing What are the main areas in our lifecycle? Usually a formal approach has planning and specifications. This is open source, generally we work by consensus and planning is informal at best but it is there. This is not an area technology really helps with and is more a social area. Having said that a wiki is a cheap and easy way to make sure developers ideas do not get lost. The source code, this is where developers spend most of their effort and scratch their itches, we are generally pretty good at this but it needs managing so revision control systems are needed. Building the code in all the configurations and environments the project supports can be hard. Continuous integration helps here QA, Testing, everyone runs their tests all the time before they check in their code, right? Yeah that is what I thought. Having the tests run automatically means you know how healthy the project is Releasing code is what it is all about. Without this users do not get your software and Debian packages cannot be made. Again CI helps but so does an issue tracker. Especially helpful if the issue tracker allows you to keep track of releases useful for release notes.

27 Planning Planning is usually a social activity Important to keep track of decisions Communication tools developers actually use Flexibility to achieve releases Most developers do planning in an informal way. None of these are useful unless developers actually use them, do not implement these unless there is consensus they will be used. These communication channels are also often where potential new developers join in so its useful to have an easy way to provide answers to all the questions that get repeated a lot (especially gsoc) No plan survives contact with the enemy, learn to be flexible and ensure your tools are too.

28 Planning Infrastructure IRC creating channels on free networks like oftc or freenode is easy lists are less popular but easy way to communicate with lots of people Forums are easy to setup but can degenerate quickly Communication with users can occur here to get an idea of what they say they want. Practically IRC is invaluable for geographically dispersed groups and helps with short term coordination lists or forums are ideal ways to keep in contact with others for with an more permanent record Forums, especially user forums need ruling with a strong hand to stop them wandering off topic.

29 Planning Infrastructure A wiki is good for longer term info Wiki is useful for info that is longer term in nature and the easy changeability means you can put info in quickly Needs gardening if it not to become a spam infested waste of time. Debian has many to choose from pick one that suits.

30 Implementing Code style Code documentation This is the bit most developers actually want to do. Personally I love the intellectual rewards A project should have at least a basic agreement on coding style to stop edit wars breaking out Basic inline code documentation is useful but it needs maintaining to remain useful

31 Implementing source control Source control is mandatory GIT won the argument Have a merge policy Have a review policy Any project that does not have a easily accessible revision control system is just plain broken. I have used everything from SCCS through SVN, bzr, perforce and sourcesafe (you may mock me now) and some of those did some things better but GIT won the argument, even emacs is switching. Make sure you have a sensible merge policy and if you are doing code review ensure the process is clear or it will be ignored.

32 Implementing source control Gitano and cgit are great Gitano is an excellent git server, encourage Daniel to develop it and get it packaged Cgit is a great tool especially with a forest of trees. Failing that there are lots of options or githib is always there if you are willing to use their merge/review model. Heck you even get a basic website interface through github if you want.

33 Building Master branch should always build Getting the software built should be easy Build process should be documented Continuous integration Software is no good if developers cannot build it. Continuous integration is a wonderful tool to ensure the software is always buildable Especially important if your project has multiple components or architectures. The more different ways a project can be built to more scope there is that a developer checking in their code will not have tested the alternatives

34 Building with Jenkins Jenkins is a CI tool Jobs can be triggered by GIT changes Jobs can be periodic Dependences between modules Good mechanisms for feedback If you are using github their infrastructure integrates travis CI for the rest of us jenkins is probably least bad. The web based interface and large number of plugins make it easy to deploy. Start with a small number of jobs and build up means large reward for small initial investment.

35 Deploying Jenkins DEMO I deployed jenkins for the netsurf project more than 18months ago Started with small number of jobs and now now it build all the libraries and netsurf for 9 OS Netsuf job builds multiple configurations (with clang and gcc for nine tookits)

36 Deploying Jenkins Jobs can be added to ensure things like the code documentation (via doxygen) is updated at the same time as code is built.

37 Metrics Can add other jobs like metrics but sites like oholu now black duck open hub provide these and this kind of info is not hugely helpful

38 Quality Assurance Static analysis Unit testing System testing Issue tracking Metrics Static analysis is a powerful tool that can help find issues before your users do. It is only part of the story but works best when automated and a developer does not have to do anything. No new regressions is helpful target with this. A project should have at least some basic unit testing although this gets missed a lot. Again automation of running the tests is best. Gamification helps System testing is hard but useful if it can be implemented. An issue tracker is a useful tool both for keeping track of QA issues and for bugs found by users in releases. Metrics are pretty but do not serve much beyond that

39 Static analysis Static analysis is powerful for netsurf we have CI jobs that run scan-build (clang), cppcheck and the proprietary but free (beer) coverity The free tools are ok but have a lot of false positives and are difficult to manage.

40 Static Analysis Coverity is much easier to use and worthwhile looking at fro any open source project as you can use their free scan service. I wrote a lot about this in a blog post Error analysis is the sweet spot for improvement

41 Issue tracking All issue tracking systems are not ideal Go with the system that the fewest number of developers dislike Remember users have to report issues with it. The issue tracker needs a maintainer to be useful Double edged sword. Issue trackers seem to be like mail clients, they all suck, some less than others If your project went with github they have an integrated solution, if not practical options are basically bugzilla, trac or mantis Bugzilla is ubiquitous and hard to admin. Trac gives you a wiki as well as issue tracker and source viewer but forces a workflow Mantis is very simple, is usable without javascript/html5 features making it fast to use. The simplicity could be limiting if your project needs more but remember the maintenance burden. Users need training in whatever tool, its a big investment.

42 Mantis Netsurf deployed mantis Importing the old data from sourceforge took a lot of time and we never look at the historical data I spend an hour a week minimum just ensuring new bugs are acknowledged and basic triage. We benefit from it by users reporting issues with CI builds quickly We have a large backlog of unreproducible crash bugs on minority platforms which appear to be caused by external factors. Users feel slighted if you just close them.

43 Releasing All components of a project come together Tested build possibly with known issues Unreleased software does not exist The easier they are to make the more you do A release is an opportunity for the developers to get all the moving parts of their project in a state it can be used by non-developers Allows more in depth QA and gives confidence to users they can update. As far as users are concerned if it is unreleased the software does not exist. The easier the release process is for developers the less anxiety over a release there is. One strategy is to use the CI system to publish builds all the time so the difference between a release build and a CI build is negligible aka continuous deployment

44 Practical Releasing Create CI jobs triggered from a git tag Use git sub modules to create a unified source Use the CI system to perform build from generated source in known build environment. Release process for sub modules is as simple as git tag -s -m 'Official Release' release/<version number> git push --tags Then updating the sub modules in the netsurf-all repo and pushing a signed tag to that CI will generate the source tarballs and build them without human involvement. Release can be mechanically generated in under 30 minutes. Most time is spent checking we are releasing what we intend to. Process in wiki

45 Wrapping up These are all the parts an open source creature needs to thrive Just because a project has these components does not mean it will survive The outcome should justify the effort The health of open source projects, like any creature, are not solely dependant on the care given to them. If there is no demand for the software then a project will die as developers move away and do something more interesting but without care a project will definitely fail Developers should always consider the overhead of implementing things and ensure they will get a worthwhile return I once killed a Tamagotchi in 90 minutes, maybe there are better ways.

46 Any Questions?

Continuous Integration

Continuous Integration CODING & DEVELOPMENT BORIS GORDON FEBRUARY 7 2013 Continuous Integration Introduction About me boztek on d.o. (http://drupal.org/user/134410) @boztek boris@previousnext.com.au 2 Introduction About you

More information

Software configuration management

Software configuration management Software Engineering Theory Software configuration management Lena Buffoni/ Kristian Sandahl Department of Computer and Information Science 2015-09-30 2 Maintenance Requirements System Design (Architecture,

More information

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction DRUPAL CONTINUOUS INTEGRATION Part I - Introduction Continuous Integration is a software development practice where members of a team integrate work frequently, usually each person integrates at least

More information

Git Branching for Continuous Delivery

Git Branching for Continuous Delivery Git Branching for Continuous Delivery Sarah Goff-Dupont Automation Enthusiast Hello everyone I ll be talking about how teams at Atlassian use Git branches for continuous delivery. My name is Sarah, and

More information

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically

More information

Continuous Integration and Delivery at NSIDC

Continuous Integration and Delivery at NSIDC National Snow and Ice Data Center Supporting Cryospheric Research Since 1976 Continuous Integration and Delivery at NSIDC Julia Collins National Snow and Ice Data Center Cooperative Institute for Research

More information

The Bazaar Version Control System. Michael Hudson, Canonical Ltd michael.hudson@canonical.com

The Bazaar Version Control System. Michael Hudson, Canonical Ltd michael.hudson@canonical.com The Bazaar Version Control System Michael Hudson, Canonical Ltd michael.hudson@canonical.com What is Bazaar? Bazaar is a Distributed Version Control System (DVCS) You probably know what a VCS is by now:

More information

Documentation and Project Organization

Documentation and Project Organization Documentation and Project Organization Software Engineering Workshop, December 5-6, 2005 Jan Beutel ETH Zürich, Institut TIK December 5, 2005 Overview Project Organization Specification Bug tracking/milestones

More information

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012 Jenkins Continuous Build System Jesse Bowes CSCI-5828 Spring 2012 Executive summary Continuous integration systems are a vital part of any Agile team because they help enforce the ideals of Agile development

More information

Building, testing and deploying mobile apps with Jenkins & friends

Building, testing and deploying mobile apps with Jenkins & friends Building, testing and deploying mobile apps with Jenkins & friends Christopher Orr https://chris.orr.me.uk/ This is a lightning talk which is basically described by its title, where "mobile apps" really

More information

Source Control Systems

Source Control Systems Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy

More information

Software Configuration Management and Continuous Integration

Software Configuration Management and Continuous Integration 1 Chapter 1 Software Configuration Management and Continuous Integration Matthias Molitor, 1856389 Reaching and maintaining a high quality level is essential for each today s software project. To accomplish

More information

Software Continuous Integration & Delivery

Software Continuous Integration & Delivery November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com

More information

SA4 Software Developer Survey Survey Specification v2.2

SA4 Software Developer Survey Survey Specification v2.2 Last updated: 30-06-2009 Activity: SA4 Dissemination Level: PP (Project Participants) Authors: Branko Marović (UoB/AMRES), Cezary Mazurek (PSNC), Gina Kramer (DANTE) Table of Contents 1 Introduction 1

More information

Continuous Integration. CSC 440: Software Engineering Slide #1

Continuous Integration. CSC 440: Software Engineering Slide #1 Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge

More information

Sreerupa Sen Senior Technical Staff Member, IBM December 15, 2013

Sreerupa Sen Senior Technical Staff Member, IBM December 15, 2013 Sreerupa Sen Senior Technical Staff Member, IBM December 15, 2013 Abstract In this experience report, I ll talk about how we transformed ourselves from a team that does one big bang release a year, to

More information

Version Control! Scenarios, Working with Git!

Version Control! Scenarios, Working with Git! Version Control! Scenarios, Working with Git!! Scenario 1! You finished the assignment at home! VC 2 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not

More information

Content. Development Tools 2(63)

Content. Development Tools 2(63) Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)

More information

How To Manage Change In Jeepers

How To Manage Change In Jeepers Continuous Integration Continuous Integration What is Continuous Integration? In software engineering, continuous integration (CI) implements continuous processes of applying quality control small pieces

More information

The Importance of Continuous Integration for Quality Assurance Teams

The Importance of Continuous Integration for Quality Assurance Teams The Importance of Continuous Integration for Quality Assurance Teams Without proper implementation, a continuous integration system will go from a competitive advantage for a software quality assurance

More information

Continuous Integration

Continuous Integration Continuous Integration Stefan Sprenger (sprengsz@informatik.hu-berlin.de) Semesterprojekt Verteilte Echtzeitrecherche in Genomdaten 15. Dezember 2015 Motivation 2 How was software developed before CI?

More information

DevOps. Building a Continuous Delivery Pipeline

DevOps. Building a Continuous Delivery Pipeline DevOps Building a Continuous Delivery Pipeline Who Am I Bobby Warner Founder & President @bobbywarner What is the goal? Infrastructure as Code Write code to describe our infrastructure Never manually execute

More information

Version Control with. Ben Morgan

Version Control with. Ben Morgan Version Control with Ben Morgan Developer Workflow Log what we did: Add foo support Edit Sources Add Files Compile and Test Logbook ======= 1. Initial version Logbook ======= 1. Initial version 2. Remove

More information

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.) Today: Source code control CPSC 491 Source Code (Version) Control Exercise: 1. Pretend like you don t have a version control system (e. g., no git, subversion, cvs, etc.) 2. How would you manage your source

More information

Coverity Services. World-class professional services, technical support and training from the Coverity development testing experts

Coverity Services. World-class professional services, technical support and training from the Coverity development testing experts Coverity Services World-class professional services, technical support and training from the Coverity development testing experts Coverity has helped over 1,100 customers around the globe assure the quality,

More information

Version Control with Git. Dylan Nugent

Version Control with Git. Dylan Nugent Version Control with Git Dylan Nugent Agenda What is Version Control? (and why use it?) What is Git? (And why Git?) How Git Works (in theory) Setting up Git (surviving the CLI) The basics of Git (Just

More information

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience

Digital Marketing Manager, Marketing Manager, Agency Owner. Bachelors in Marketing, Advertising, Communications, or equivalent experience Persona name Amanda Industry, geographic or other segments B2B Roles Digital Marketing Manager, Marketing Manager, Agency Owner Reports to VP Marketing or Agency Owner Education Bachelors in Marketing,

More information

Intro to Patching. Thomas Cameron, Chief Architect, Western US, Red Hat thomas@redhat.com twitter: thomasdcameron IRC: choirboy on Freenode

Intro to Patching. Thomas Cameron, Chief Architect, Western US, Red Hat thomas@redhat.com twitter: thomasdcameron IRC: choirboy on Freenode Intro to Patching Thomas Cameron, Chief Architect, Western US, Red Hat thomas@redhat.com twitter: thomasdcameron IRC: choirboy on Freenode RHCA, RHCSS, RHCDS, RHCVA, RHCX Agenda 2 Who am I? Who are you?

More information

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation

More information

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg Build Automation for Mobile or How to Deliver Quality Apps Continuously Angelo Rüggeberg Things to remember Publishing your App should not be painfull Angelo Rüggeberg Code Quality Matters Angelo Rüggeberg

More information

Achieving Rolling Updates & Continuous Deployment with Zero Downtime

Achieving Rolling Updates & Continuous Deployment with Zero Downtime +1 800-825-0212 WHITEPAPER Achieving Rolling Updates & Continuous Deployment with Zero Downtime Get started with ANSIBLE now: /get-started-with-ansible or contact us for more information: info@ INTRODUCTION

More information

Agile Austin Dev SIG. June 2013 - Continuous Integration (CI)

Agile Austin Dev SIG. June 2013 - Continuous Integration (CI) Agile Austin Dev SIG June 2013 - Continuous Integration (CI) Special thanks to: Our hosts, BancVue, for their hospitality and meeting facilities. And to Agile Austin for providing lunch. * For more SIGs

More information

Ambienti di sviluppo collaborativo

Ambienti di sviluppo collaborativo Ambienti di sviluppo collaborativo Adapted from F. Lanubile, C. Ebert, R. Prikladnicki, A. Vizcaino, "Collaboration Tools for Global Software Engineering", IEEE Software, ISSN: 0740-7459, vol. 27, 2010,

More information

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

Agile Power Tools. Author: Damon Poole, Chief Technology Officer Agile Power Tools Best Practices of Agile Tool Users Author: Damon Poole, Chief Technology Officer Best Practices of Agile Tool Users You ve decided to transition to Agile development. Everybody has been

More information

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

Agile Software Factory: Bringing the reliability of a manufacturing line to software development Agile Software Factory: Bringing the reliability of a manufacturing line to software development Today s businesses are complex organizations that must be agile across multiple channels in highly competitive

More information

SOFTWARE DEVELOPMENT BASICS SED

SOFTWARE DEVELOPMENT BASICS SED SOFTWARE DEVELOPMENT BASICS SED Centre de recherche Lille Nord Europe 16 DÉCEMBRE 2011 SUMMARY 1. Inria Forge 2. Build Process of Software 3. Software Testing 4. Continuous Integration 16 DECEMBRE 2011-2

More information

Continuous Integration: A case study

Continuous Integration: A case study Continuous Integration: A case study Vaibhav Kothari Talentica Software (I) Pvt ltd 1 Abstract Developer s dilemma QA s dilemma Continuous Integration? Case study What is accomplished? Benefits of CI Recommended

More information

Achieving Continuous Integration with Drupal

Achieving Continuous Integration with Drupal 23 Au gu Achieving Continuous Integration with Drupal st 20 12 Achieving Continuous Integration with Drupal Drupalcon Munich 2012 Barry Jaspan barry.jaspan@acquia.com The Evolution of a Drupal Developer

More information

HP ALM11 & MS VS/TFS2010

HP ALM11 & MS VS/TFS2010 Comparison Test Management Tools HP ALM11 & MS VS/TFS2010 22 mei 2012 voordracht georganiseerd door Discussiegroep Software Testing met de steun van Ingenieurshuis, Antwerpen 24/05/2012 HP ALM 11 Microsoft

More information

System Management. Leif Nixon. a security perspective 1/37

System Management. Leif Nixon. a security perspective 1/37 1/37 System Management a security perspective Leif Nixon 2/37 System updates Should we ever update the system? Some common update strategies: 1. If it works, don t touch it! 2. We pick and choose the most

More information

How To Manage A Multi Site In Drupal

How To Manage A Multi Site In Drupal http://platform.sh sales@platform.sh MODERNISING DRUPAL MULTI-SITE IMPLEMENTATIONS Drupal multi-site is easily re-architected to run each site in its own containerised environment. It s better and it costs

More information

CoDe:U Git Flow - a Continuous Delivery Approach

CoDe:U Git Flow - a Continuous Delivery Approach CoDe:U Git Flow - a Continuous Delivery Approach Praqmatic Software Development 1 Continuous Delivery (CoDe) is an approach that builds very much on divide and conquer. It s bred from a lean and agile

More information

Implementing Continuous Integration Testing Prepared by:

Implementing Continuous Integration Testing Prepared by: Implementing Continuous Integration Testing Prepared by: Mr Sandeep M Table of Contents 1. ABSTRACT... 2 2. INTRODUCTION TO CONTINUOUS INTEGRATION (CI)... 3 3. CI FOR AGILE METHODOLOGY... 4 4. WORK FLOW...

More information

Version Uncontrolled! : How to Manage Your Version Control

Version Uncontrolled! : How to Manage Your Version Control Version Uncontrolled! : How to Manage Your Version Control Harold Dost III, Raastech ABSTRACT Are you constantly wondering what is in your production environment? Do you have any doubts about what code

More information

Continuous Integration For Real: The Perforce Java Platform. Hamish Reid Perforce Software Inc.

Continuous Integration For Real: The Perforce Java Platform. Hamish Reid Perforce Software Inc. Continuous Integration For Real: The Perforce Java Platform Hamish Reid Perforce Software Inc. OVERVIEW What do we mean by Agile? Continuous Integration? Product line highlights: P4Eclipse + Mylin + MergeQuest

More information

PHPUnit and Drupal 8 No Unit Left Behind. Paul Mitchum / @PaulMitchum

PHPUnit and Drupal 8 No Unit Left Behind. Paul Mitchum / @PaulMitchum PHPUnit and Drupal 8 No Unit Left Behind Paul Mitchum / @PaulMitchum And You Are? Paul Mitchum Mile23 on Drupal.org From Seattle Please Keep In Mind The ability to give an hour-long presentation is not

More information

Zero-Touch Drupal Deployment

Zero-Touch Drupal Deployment Zero-Touch Drupal Deployment Whitepaper Date 25th October 2011 Document Number MIG5-WP-D-004 Revision 01 1 Table of Contents Preamble The concept Version control Consistency breeds abstraction Automation

More information

Agile Development for Application Security Managers

Agile Development for Application Security Managers Agile Development for Application Security Managers www.quotium.com When examining the agile development methodology many organizations are uncertain whether it is possible to introduce application security

More information

Successful PaaS and CI in the Cloud

Successful PaaS and CI in the Cloud Successful PaaS and CI in the Cloud Steven G. Harris steven.g.harris@cloudbees.com @stevengharris AgileALM/EclipseCon 2012 Platform as a Service As-a-Service Examples Today SaaS PaaS "Cloud computing is

More information

Making Leaders Successful Every Day. 2014 Forrester Research, Inc. Reproduction Prohibited

Making Leaders Successful Every Day. 2014 Forrester Research, Inc. Reproduction Prohibited Making Leaders Successful Every Day Compliance & Continuous Delivery for SVN and Git An Oxymoron No Longer Kurt Bittner, Principal Analyst Mobile and Cloud Are Driving The Need for Faster Delivery Cycles

More information

The Hitchhiker's Guide to Mobile Apps Test Automation Galaxy

The Hitchhiker's Guide to Mobile Apps Test Automation Galaxy The Hitchhiker's Guide to Mobile Apps Test Automation Galaxy TenKod EZ TestApp Technology Sales office TenKod Ltd. Table of Contents Abstract... 3 Test Automation for Mobile Apps Challenges and PAINS...

More information

HTTP://WWW.ALWAYSBESHIPPING.CO

HTTP://WWW.ALWAYSBESHIPPING.CO Module 6 Outsourcing Running Time: 21 mins Outsourcing vs Outtasking We re talking about outsourcing in this part of module six. I want to get one thing very, very clear before we begin. There is outsourcing

More information

A new version of Firefox is available

A new version of Firefox is available A new version of Firefox is available Rapid Release of Quality Firefox Products Lukas Blakk & Sylvestre Ledru Who are we? Sylvestre Lukas Mozillian since 2006 Release Engineer for 3 years Release Manager

More information

Open Source vs. Collaborative Software: FOSS is Not Enough

Open Source vs. Collaborative Software: FOSS is Not Enough Open Source vs. Collaborative Software: FOSS is Not Enough Peter F. Peterson Much of the software at user facilities is developed is released by making the source code available and decorated with one

More information

Software Engineering Process. Kevin Cathey

Software Engineering Process. Kevin Cathey Software Engineering Process Kevin Cathey Where are we going? Last Week iphone Application Technologies Workshop This Week Software Engineering Process Thanksgiving Break Write some code, yo 2 Dec Options:

More information

A central continuous integration platform

A central continuous integration platform A central continuous integration platform Agile Infrastructure use case and future plans Dec 5th, 2014 1/3 The Agile Infrastructure Use Case By Stefanos Georgiou What? Development practice Build better

More information

DJANGOCODERS.COM THE PROCESS. Core strength built on healthy process

DJANGOCODERS.COM THE PROCESS. Core strength built on healthy process DJANGOCODERS.COM THE PROCESS This is a guide that outlines our operating procedures and coding processes. These practices help us to create the best possible software products while ensuring a successful

More information

Continuous Integration

Continuous Integration Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal

More information

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies

My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies About the author My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies I am going to take you through the journey that my team embarked on as we looked for ways to automate processes,

More information

Best Overall Use of Technology. Jaspersoft

Best Overall Use of Technology. Jaspersoft Best Overall Use of Technology Jaspersoft Kerstin Klein Manager, Engineering Processes/ Infrastructure, Jaspersoft From requirements to release QA centric development From Requirement to Release QA-Centric

More information

Software infrastructure for Java development projects

Software infrastructure for Java development projects Tools that can optimize your development process Software infrastructure for Java development projects Presentation plan Software Development Lifecycle Tools What tools exist? Where can tools help? Practical

More information

using version control in system administration

using version control in system administration LUKE KANIES using version control in system administration Luke Kanies runs Reductive Labs (http://reductivelabs.com), a startup producing OSS software for centralized, automated server administration.

More information

Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY

Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY Solution Spotlight KEY OPPORTUNITIES AND PITFALLS ON THE ROAD TO CONTINUOUS DELIVERY C ontinuous delivery offers a number of opportunities and for organizations. By automating the software buildtest-deployment

More information

The Tools For Continuous Delivery

The Tools For Continuous Delivery The Tools For Continuous Delivery Table of Contents Introduction...3 Benefits of Continuous Delivery...4 Launching Continuous Delivery in Your Organization...6 The Tools for Continuous Delivery...8 Easier

More information

Development Testing for Agile Environments

Development Testing for Agile Environments Development Testing for Agile Environments November 2011 The Pressure Is On More than ever before, companies are being asked to do things faster. They need to get products to market faster to remain competitive

More information

Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester

Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester Continuous Integration and Bamboo Ryan Cutter CSCI 5828 2012 Spring Semester Agenda What is CI and how can it help me? Fundamentals of CI Fundamentals of Bamboo Configuration / Price Quick example Features

More information

BizTalk Server Monitoring Top 15 Best Practices

BizTalk Server Monitoring Top 15 Best Practices BizTalk Server Monitoring Top 15 Best Practices Why do you need to worry about monitoring? The simplest example you can relate to when it comes to monitoring is your car dashboard. A car dashboard reveals

More information

Teaming Up for Software Development

Teaming Up for Software Development Departamento de Informática Universidade do Minho Engenharia de Aplicações Introduction Agenda In the end of the session the attendee should be able to: Identify several super-sets of tools used in software

More information

In depth study - Dev teams tooling

In depth study - Dev teams tooling In depth study - Dev teams tooling Max Åberg mat09mab@ Jacob Burenstam Linder ada09jbu@ Desired feedback Structure of paper Problem description Inconsistencies git story explanation 1 Introduction Hypotheses

More information

5 barriers to database source control and how you can get around them

5 barriers to database source control and how you can get around them WHITEPAPER DATABASE CHANGE MANAGEMENT 5 barriers to database source control and how you can get around them 91% of Fortune 100 companies use Red Gate Content Introduction We have backups of our databases,

More information

Continuous Integration Processes and SCM To Support Test Automation

Continuous Integration Processes and SCM To Support Test Automation Continuous Integration Processes and SCM To Support Test Automation SIGIST Conference, July 2013 Gal Fatal Gal.fatal@ATT.com 054-342-3864 AT&T Israel Center of Excellence AT&T Worldwide One of the largest

More information

Sonatype CLM for Maven. Sonatype CLM for Maven

Sonatype CLM for Maven. Sonatype CLM for Maven Sonatype CLM for Maven i Sonatype CLM for Maven Sonatype CLM for Maven ii Contents 1 Introduction 1 2 Creating a Component Index 3 2.1 Excluding Module Information Files in Continuous Integration Tools...........

More information

The Definitive Guide To Docker Containers

The Definitive Guide To Docker Containers The Definitive Guide To Docker Containers EXECUTIVE SUMMARY THE DEFINITIVE GUIDE TO DOCKER CONTAINERS Executive Summary We are in a new technology age software is dramatically changing. The era of off

More information

Improving your Drupal Development workflow with Continuous Integration

Improving your Drupal Development workflow with Continuous Integration Improving your Drupal Development workflow with Continuous Integration Peter Drake Sahana Murthy DREAM IT. DRUPAL IT. 1 Meet Us!!!! Peter Drake Cloud Software Engineer @Acquia Drupal Developer & sometimes

More information

Version Control Your Jenkins Jobs with Jenkins Job Builder

Version Control Your Jenkins Jobs with Jenkins Job Builder Version Control Your Jenkins Jobs with Jenkins Job Builder Abstract Wayne Warren wayne@puppetlabs.com Puppet Labs uses Jenkins to automate building and testing software. While we do derive benefit from

More information

Integrating Automated Tools Into a Secure Software Development Process

Integrating Automated Tools Into a Secure Software Development Process Integrating Automated Tools Into a Secure Software Development Process Kenneth R. van Wyk KRvW Associates, LLC Ken@KRvW.com Copyright 2007, KRvW Associates, LLC This paper is intended to augment and accompany

More information

For more about patterns & practices: http://msdn.microsoft.com/practices/ My blog: http://ademiller.com/tech/

For more about patterns & practices: http://msdn.microsoft.com/practices/ My blog: http://ademiller.com/tech/ For more about patterns & practices: http://msdn.microsoft.com/practices/ My blog: http://ademiller.com/tech/ 1 2 Stop me. Ask questions. Tell me if you ve heard it all before or you want to hear about

More information

Continuous Integration

Continuous Integration Continuous Integration WITH FITNESSE AND SELENIUM By Brian Kitchener briank@ecollege.com Intro Who am I? Overview Continuous Integration The Tools Selenium Overview Fitnesse Overview Data Dependence My

More information

Mastering Continuous Integration with Jenkins

Mastering Continuous Integration with Jenkins 1. Course Objectives Students will walk away with a solid understanding of how to implement a Continuous Integration (CI) environment with Jenkins, including: Setting up a production-grade instance of

More information

Achieving business benefits through automated software testing. By Dr. Mike Bartley, Founder and CEO, TVS (mike@testandverification.

Achieving business benefits through automated software testing. By Dr. Mike Bartley, Founder and CEO, TVS (mike@testandverification. Achieving business benefits through automated software testing By Dr. Mike Bartley, Founder and CEO, TVS (mike@testandverification.com) 1 Introduction During my experience of test automation I have seen

More information

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley Continuous Delivery Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley Copyright 2011 ThoughtWorks Inc. All rights reserved www.thoughtworks-studios.com Introduction Continuous

More information

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison

Version control. with git and GitHub. Karl Broman. Biostatistics & Medical Informatics, UW Madison Version control with git and GitHub Karl Broman Biostatistics & Medical Informatics, UW Madison kbroman.org github.com/kbroman @kwbroman Course web: kbroman.org/tools4rr Slides prepared with Sam Younkin

More information

The Advantages Of PROSE For Open Source Software Development

The Advantages Of PROSE For Open Source Software Development An Open Source Software Forge for European Projects Alfredo Matos Caixa Mágica Software Lisbon, Portugal alfredo.matos@caixamagica.pt Miguel Ponce de Leon TSSG Waterford Institute of Technology Dublin,

More information

SMZ. SocialMedia. Z olutions

SMZ. SocialMedia. Z olutions SMZ SocialMedia Z olutions JiveIstrano Jive Deployment the easy way 2 What is JiveIstrano? JiveIstrano is a Jive deployment system based on Capistrano/Webistrano It automates Jive deployment in your companies

More information

A How-to Guide By: Riaan Van Der Merwe, General Manager, Dynamics, Neudesic

A How-to Guide By: Riaan Van Der Merwe, General Manager, Dynamics, Neudesic Managing Dynamics CRM 2013 Applications from Cradle to Grave A How-to Guide By: Riaan Van Der Merwe, General Manager, Dynamics, Neudesic Table of Contents Introduction...3 Creating the Right Fit...3 Solutions

More information

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Enabling Continuous Delivery by Leveraging the Deployment Pipeline Enabling Continuous Delivery by Leveraging the Deployment Pipeline Jason Carter Principal (972) 689-6402 Jason.carter@parivedasolutions.com Pariveda Solutions, Inc. Dallas,TX Table of Contents Matching

More information

INCREASE YOUR WEBMETHODS ROI WITH AUTOMATED TESTING. Copyright 2015 CloudGen, LLC

INCREASE YOUR WEBMETHODS ROI WITH AUTOMATED TESTING. Copyright 2015 CloudGen, LLC INCREASE YOUR WEBMETHODS ROI WITH AUTOMATED TESTING Your Ultimate Partner for integration everywhere, ieverywhere TM CloudGen is an esteemed provider of information technology, business consulting, enterprise

More information

Software Solutions Digital Marketing Business Services. SugarCRM Community Edition for Small & Medium Enterprises

Software Solutions Digital Marketing Business Services. SugarCRM Community Edition for Small & Medium Enterprises Software Solutions Digital Marketing Business Services SugarCRM Community Edition for Small & Medium Enterprises Contents Introduction... 1 SugarCRM Community Edition (CE)... 1 Basic CRM Workflow... 2

More information

Continuous integration with Jenkins CI

Continuous integration with Jenkins CI Continuous integration with Jenkins CI Vojtěch Juránek JBoss - a division by Red Hat 17. 2. 2012, Developer conference, Brno Vojtěch Juránek (Red Hat) Continuous integration with Jenkins CI 17. 2. 2012,

More information

What CCPForge does Introduction to SESC and CCPForge Workshop Gemma Poulter gemma.poulter@stfc.ac.uk http://www.softeng-support.ac.

What CCPForge does Introduction to SESC and CCPForge Workshop Gemma Poulter gemma.poulter@stfc.ac.uk http://www.softeng-support.ac. What CCPForge does Introduction to SESC and CCPForge Workshop Gemma Poulter gemma.poulter@stfc.ac.uk http://www.softeng-support.ac.uk What is CCPForge? Software development environment Originally intended

More information

Using SQL Monitor at Interactive Intelligence

Using SQL Monitor at Interactive Intelligence Using SQL Monitor at Robbie Baxter 93% of Fortune 100 companies use Red Gate's software Using SQL Monitor at Robbie Baxter Database Administrator Summary Business communications software company has used

More information

Developer Documentation Revamp Proposal. Wayne Lee

Developer Documentation Revamp Proposal. Wayne Lee Developer Documentation Revamp Proposal Wayne Lee 5 Overview Looking to revamp AllSeen Developer content starting in 14.06 timeframe Need agreement on: Content organization Tool and Process Ownership 6

More information

LibreOffice Development Infrastructure State of The Union

LibreOffice Development Infrastructure State of The Union LibreOffice Development Infrastructure State of The Union LibreOffice Conference, Aarhus 2015 What's 'development infrastructure' Gerrit, Git, Jenkins, Tinderboxes, Callgrind Perf, UBSAN, Crashtest, Bibisect,

More information

RepoGuard Validation Framework for Version Control Systems

RepoGuard Validation Framework for Version Control Systems RepoGuard Validation Framework for Version Control Systems Remidi09 (2009-07-13, Limerick) Malte Legenhausen, Stefan Pielicke German Aerospace Center (DLR), Cologne http://www.dlr.de/sc Slide 1 Remidi09

More information

Developing Embedded Linux Devices Using the Yocto Project

Developing Embedded Linux Devices Using the Yocto Project It s not an embedded Linux distribution It creates a custom one for you. Developing Embedded Linux Devices Using the Yocto Project David Stewart Intel Corporation October, 2011 Agenda What is the Yocto

More information

Break It Before You Buy It!

Break It Before You Buy It! Break It Before You Buy It! Test Driven Development and Continuous Integration Chris Hartjes -- CodeMash 2011 -- @chartjes http://www.littlehart.net/atthekeyboard Huge Sports Nerd TL;DR The Problem Build

More information

The Deployment Pipeline

The Deployment Pipeline The Deployment Pipeline (Extending the range of Continuous Integration) Dave Farley 2007 Continuous Build A core practice in Agile development projects is the use of Continuous Integration. CI is a process

More information

StriderCD Book. Release 1.4. Niall O Higgins

StriderCD Book. Release 1.4. Niall O Higgins StriderCD Book Release 1.4 Niall O Higgins August 22, 2015 Contents 1 Introduction 3 1.1 What Is Strider.............................................. 3 1.2 What Is Continuous Integration.....................................

More information

Software Development In the Cloud Cloud management and ALM

Software Development In the Cloud Cloud management and ALM Software Development In the Cloud Cloud management and ALM First published in Dr. Dobb's Journal, February 2009: http://www.ddj.com/development-tools/212900736 Nick Gulrajani is a Senior Solutions Architect

More information

Copyright 2010 You have giveaway rights to this report. Feel free to share.

Copyright 2010 You have giveaway rights to this report. Feel free to share. Article Marketing Magic Copyright 2010 You have giveaway rights to this report. Feel free to share. Table of Contents What Is Article Marketing?...3 The History of Article Marketing...7 Article Marketing

More information