SlideShare a Scribd company logo
Part 2: Improving your software development  process March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil
Outline Towards a better build process using agile tools Build Managements Continuous Integration, Principles and Tools  JasForge  project Using hudson in jasforge Project Demos
TOWARDS A BETTER BUILD PROCESS USING AGILE TOOLS
Build is often a hard process
What Is a Build? A build is much more than a compile (or its dynamic language variations) A build may consist of the compilation, testing, inspection, and deployment—among other things A build acts as the process for putting source code together and verifying that the software works as a cohesive unit.
The  Integrate   button Source :  Continuous Integration by Paul M. DUVALL
Why  using  Build Tools? Builds are messy Builds are hard It is hard to learn how to do them “right” - what is “right” by the way? Builds are typically not well documented Trial and error ... and you often run out of bamboo  ...
Build Tools Automation in a agile scenario CI Build Server Automated testing  Automated code quality Build Tool
Build Tool Collect input Process inputs Generate final outputs
Build Tool - Inputs Source code Java, SQL Resources Properties, XML Dependencies Libraries, components, frameworks
Build Tool - Processing Compile Run tests Copy files Replace keywords Package Install / deploy
Build Tool - Outputs JAR / WAR / EAR files Zip files Reports
What is the primary build tool and release management you typically use ? Source: Eclipse community Survey
Maven Project and artifact-based build  platform Uses  repositories to manage  artifacts and third party libraries Customized by modifying the  behavior of the  life-cycle via plugins.
Maven and the Development Build Process Maven the source build management tool for enterprise Java projects Use declarative approche rather then the task-based approach used in Ant or in traditional Make files or shell scripts Promotes the use of standard directory  structures and a well-defined build lifecycle Support quality metric reporting and  documentation generation tool throw the use of plugins
Phases: build life cycle The standard goals for building: compile & test -  compile and test the code package –  build and test the artifact install –  package the artifact and install to local  repository deploy  – package the artifact and copy to the  remote repository (release time) Release management
Common way to build applications MOJO – Maven 2 Plugins Project http://mojo.codehaus.org/ plugins user e.g. mvn install M2 generate- sources compile test install deploy package integration- test Well-known phases mojo mojo mojo mojo mojo bindings
CONTINUOUS INTEGRATION PRINCIPLES AND TOOLS
What is CI (Continuous Integration) ? “ Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build  (includingtest) to detect integration errors as quickly as possible.” Martin Fowler.
Continuous Integration (CI)  scenario
A CI scenario starts with the developer committing source code to the repository.  On a typical project, people in many project roles may commit changes that trigger a CI cycle:  Developers change source code,  database administrators (DBAs) change table definitions, build and deployment teams change configuration files, interface teams change DTD/XSD specifications,  and so on… Continuous Integration (CI)  scenario
Why do we need CI ? Replace big (and long) integration phases with small and frequent ones Ideally instantaneous Think of « incremental compilation » in Eclipse Minimize integration effort Keep the development process running … CI was introduced with XP principles and by Martin Fowler
The components of a CI system Commit changes Compile Source Code, Integrate Database, Run Tests, Run Inspections, Deploy Software Feedback Mechanism Generate feedback SCM Server  (Svn, Git, …) CI Server
Workflow Checkout from SCM Code a new feature Run automated build on my machine Repeat 2 and 3 until test pass ! Merge with  latest changes from SCM Fix and rebuild until test pass Commit Run a build on a clean machine Immediately fix bugs and integration issues
Version Control Repository Simply put, you must use a version control repository in order to perform  CI Even if you don’t use CI, a version control repository should be standard for your project The purpose of a version control repository is to manage changes to source code and other software assets (such as documentation) using a controlled access repository There are  different types of version control systems you can use too We use  Subversion for most of the examples in this seminar
Continuous Integration not exist without TDD ! A software development practice where members of a team integrate their work frequently usually each person integrates at least daily (Martin Fowler)  CI leads to significantly reduced integration problems and allow a team to develop cohesive software more rapidly and reduce risk To complete this definition Automated, self-testing and fast  builds Make it easy for everyone to get the last executable Automate deployment Everyone can see what’s happening progress, statistics on code coverage tests, etc … Reduced risks
Continuous   Integration Major tools Hudson No install required  put a war in a  web container) Cruise Control Continuum Java and Ant/Maven based  Open Source  …
Every commit much triggers a build ! Commit at least daily… As soon as you have completed an independent functionnality A full build on another empty machine Not on your own !  With hudson SCM polling Cron-like scheduller Trigger with http request (from maven or svn commit hook)
JASFORGE  ©  PROJECT AND  HUDSON CI TOOL
Managing all the agile tool is a complex process Today, managing and taking control of your software process is a major  challenge for maintaining is capacity to be innovative and competitive Ho can we manage efficiently all these toolls in an unified way ? We must manage the quality of our software development en meet the requirements and delays  in a predictive mode This is the aim of  JasForge ©  Project ( http://www.jasforge.com ) : Taking the control of your development process using an “agile “ approache
What is JasForge ? Jasforge  is an Open Source project   to build  a scalable  Team  collaboration platform  for Integrating  work across  the phases  of  the  development  lifecycle Available: Community Edition  (Eclipse Public License) Enterprise Edition Exemple  of  tools  : hudson
Hudson ? Open-source CI server Writen in java  ( https://hudson.dev.java.net/  ) Extensibility 230+ community-developed public plugins By 230+ contributors Estimated 13,000 installations
Basic Feature Set Hudson notices that there is a code change Checks out the source code CVS, Subversion, ClearCase, Mercurial, Accurev, Perforce, Git, StarTeam, … Builds Ant, Maven, shell script, NAnt, … Record and publish results Tool Integration Findbugs, Corbertura, ...
 List of projects
 Browse workspaces
 FindBugs integration
 Tracking changes
Provides Feedback RSS feeds Email/IM notification Tray application to notify developers Linux/Windows (Toolbar), Mac (Growl)
JASFORGE  ©   HUDSON TOOLS
Full CI support with Hudson Tool using SOAP/REST Support Notice is managed by LDAP Authentification inside Hudson  Page     XML/RPC Hudson SOAP/REST createBuildService …… HTTP
Simple scenarios:
Thank you for your Attention Jasforge: A Jasmine  Conseil  concept http://www.jasmineconseil.com Need More information ? [email_address]
Ad

More Related Content

What's hot (20)

Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
elliando dias
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
Mohammed Tanveer
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous Delivery
John Ferguson Smart Limited
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
Sumanth Vepa
 
2012 01-jenkins-udeploy
2012 01-jenkins-udeploy2012 01-jenkins-udeploy
2012 01-jenkins-udeploy
IBM UrbanCode Products
 
2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson
Shreeniwas Iyer
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
Virendra Bhalothia
 
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
JKI
 
02 - Build and Deployment Management
02 - Build and Deployment Management02 - Build and Deployment Management
02 - Build and Deployment Management
Sergii Shmarkatiuk
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
Christopher Read
 
Continuous deployment-at-flipkart
Continuous deployment-at-flipkartContinuous deployment-at-flipkart
Continuous deployment-at-flipkart
Pankaj Kaushal
 
Agile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopAgile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loop
Wajih Aslam
 
Introducing CI/CD to Engineering Teams - By: Matt Brunsdon
Introducing CI/CD to Engineering Teams - By: Matt BrunsdonIntroducing CI/CD to Engineering Teams - By: Matt Brunsdon
Introducing CI/CD to Engineering Teams - By: Matt Brunsdon
Matt Brunsdon
 
Jenkins Meetup Pune
Jenkins Meetup PuneJenkins Meetup Pune
Jenkins Meetup Pune
Umesh Kumhar
 
Continuous Integration With Jenkins
Continuous Integration With JenkinsContinuous Integration With Jenkins
Continuous Integration With Jenkins
Edureka!
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Michael Palotas
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database Insights
Michael Medin
 
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
Edureka!
 
JenkinsCIdocumentations-removedcredentials.docx
JenkinsCIdocumentations-removedcredentials.docxJenkinsCIdocumentations-removedcredentials.docx
JenkinsCIdocumentations-removedcredentials.docx
Md. Abdul Hasib (Sazzad)
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
elliando dias
 
DevOps and Build Automation
DevOps and Build AutomationDevOps and Build Automation
DevOps and Build Automation
Heiswayi Nrird
 
Continuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous DeliveryContinuous Integration, Continuous Quality, Continuous Delivery
Continuous Integration, Continuous Quality, Continuous Delivery
John Ferguson Smart Limited
 
Automating development-operations-v1
Automating development-operations-v1Automating development-operations-v1
Automating development-operations-v1
Sumanth Vepa
 
2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson2013 10-28 php ug presentation - ci using phing and hudson
2013 10-28 php ug presentation - ci using phing and hudson
Shreeniwas Iyer
 
Jenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous DeliveryJenkins - From Continuous Integration to Continuous Delivery
Jenkins - From Continuous Integration to Continuous Delivery
Virendra Bhalothia
 
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
NIWeek 2012: Fire and Forget / Bulletproof Builds Using Continuous Integratio...
JKI
 
02 - Build and Deployment Management
02 - Build and Deployment Management02 - Build and Deployment Management
02 - Build and Deployment Management
Sergii Shmarkatiuk
 
Continuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous DeploymentContinuous Integration, Build Pipelines and Continuous Deployment
Continuous Integration, Build Pipelines and Continuous Deployment
Christopher Read
 
Continuous deployment-at-flipkart
Continuous deployment-at-flipkartContinuous deployment-at-flipkart
Continuous deployment-at-flipkart
Pankaj Kaushal
 
Agile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopAgile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loop
Wajih Aslam
 
Introducing CI/CD to Engineering Teams - By: Matt Brunsdon
Introducing CI/CD to Engineering Teams - By: Matt BrunsdonIntroducing CI/CD to Engineering Teams - By: Matt Brunsdon
Introducing CI/CD to Engineering Teams - By: Matt Brunsdon
Matt Brunsdon
 
Jenkins Meetup Pune
Jenkins Meetup PuneJenkins Meetup Pune
Jenkins Meetup Pune
Umesh Kumhar
 
Continuous Integration With Jenkins
Continuous Integration With JenkinsContinuous Integration With Jenkins
Continuous Integration With Jenkins
Edureka!
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Michael Palotas
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database Insights
Michael Medin
 
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
Docker Jenkins Pipeline Tutorial | Microservices Using Docker & Jenkins | Dev...
Edureka!
 
JenkinsCIdocumentations-removedcredentials.docx
JenkinsCIdocumentations-removedcredentials.docxJenkinsCIdocumentations-removedcredentials.docx
JenkinsCIdocumentations-removedcredentials.docx
Md. Abdul Hasib (Sazzad)
 

Viewers also liked (6)

Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
Designing OpenStack Architectures
Designing OpenStack ArchitecturesDesigning OpenStack Architectures
Designing OpenStack Architectures
Mirantis
 
Deep dive into highly available open stack architecture openstack summit va...
Deep dive into highly available open stack architecture   openstack summit va...Deep dive into highly available open stack architecture   openstack summit va...
Deep dive into highly available open stack architecture openstack summit va...
Arthur Berezin
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
Jalal Mostafa
 
Delivering IaaS with Open Source Software
Delivering IaaS with Open Source SoftwareDelivering IaaS with Open Source Software
Delivering IaaS with Open Source Software
Mark Hinkle
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
Mirantis
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
Designing OpenStack Architectures
Designing OpenStack ArchitecturesDesigning OpenStack Architectures
Designing OpenStack Architectures
Mirantis
 
Deep dive into highly available open stack architecture openstack summit va...
Deep dive into highly available open stack architecture   openstack summit va...Deep dive into highly available open stack architecture   openstack summit va...
Deep dive into highly available open stack architecture openstack summit va...
Arthur Berezin
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
Jalal Mostafa
 
Delivering IaaS with Open Source Software
Delivering IaaS with Open Source SoftwareDelivering IaaS with Open Source Software
Delivering IaaS with Open Source Software
Mark Hinkle
 
OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
Mirantis
 
Ad

Similar to Part 2 improving your software development v1.0 (20)

Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case Study
IndicThreads
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
Dennys Hsieh
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and Builds
Bhavin Javia
 
Continous Integration: A Case Study
Continous Integration: A Case StudyContinous Integration: A Case Study
Continous Integration: A Case Study
Talentica Software
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
Liran Levy
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
Dan Hinojosa
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
Sunil Dalal
 
Hudson
HudsonHudson
Hudson
8x8
 
DevOps & DevEx
DevOps & DevExDevOps & DevEx
DevOps & DevEx
Ifunga Ndana
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
Stephanie Locke
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approach
Aleksandr Tsertkov
 
Enterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, ReleaseEnterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, Release
IBM UrbanCode Products
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
cPrime | Project Management | Agile | Consulting | Staffing | Training
 
Part5 - enforcing coding standard and best practices with jas forge v1.0
Part5 -  enforcing coding standard and best practices with jas forge v1.0Part5 -  enforcing coding standard and best practices with jas forge v1.0
Part5 - enforcing coding standard and best practices with jas forge v1.0
Jasmine Conseil
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
Andrea Tino
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPS
G R VISHAL
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
eleksdev
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile ME
 
SDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with AgileSDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with Agile
Abdel Moneim Emad
 
Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile
Poonam Panday
 
Continuous Integration: A Case Study
Continuous Integration: A Case StudyContinuous Integration: A Case Study
Continuous Integration: A Case Study
IndicThreads
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
Dennys Hsieh
 
Continuous Integration and Builds
Continuous Integration and BuildsContinuous Integration and Builds
Continuous Integration and Builds
Bhavin Javia
 
Continous Integration: A Case Study
Continous Integration: A Case StudyContinous Integration: A Case Study
Continous Integration: A Case Study
Talentica Software
 
Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates Intro to DevOps 4 undergraduates
Intro to DevOps 4 undergraduates
Liran Levy
 
Jbossworld Presentation
Jbossworld PresentationJbossworld Presentation
Jbossworld Presentation
Dan Hinojosa
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
Sunil Dalal
 
Hudson
HudsonHudson
Hudson
8x8
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
Stephanie Locke
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approach
Aleksandr Tsertkov
 
Enterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, ReleaseEnterprise DevOps: Scaling Build, Deploy, Test, Release
Enterprise DevOps: Scaling Build, Deploy, Test, Release
IBM UrbanCode Products
 
Part5 - enforcing coding standard and best practices with jas forge v1.0
Part5 -  enforcing coding standard and best practices with jas forge v1.0Part5 -  enforcing coding standard and best practices with jas forge v1.0
Part5 - enforcing coding standard and best practices with jas forge v1.0
Jasmine Conseil
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
Andrea Tino
 
SCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPSSCALABLE CI CD DEVOPS
SCALABLE CI CD DEVOPS
G R VISHAL
 
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
Continuous Delivery concept overview. Continuous Integration Systems. DevOps ...
eleksdev
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile ME
 
SDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with AgileSDLC & DevOps Transformation with Agile
SDLC & DevOps Transformation with Agile
Abdel Moneim Emad
 
Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile Lets talk about CI CD Pipeline in Agile
Lets talk about CI CD Pipeline in Agile
Poonam Panday
 
Ad

More from Jasmine Conseil (19)

JEE 8, A Big Overview
JEE 8, A Big OverviewJEE 8, A Big Overview
JEE 8, A Big Overview
Jasmine Conseil
 
Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017
Jasmine Conseil
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Jasmine Conseil
 
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en AfriqueL'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
Jasmine Conseil
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
Jasmine Conseil
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
Jasmine Conseil
 
Ecm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forgeEcm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forge
Jasmine Conseil
 
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures EvolutionsPart 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Jasmine Conseil
 
Part 7 - Managing and fixing bugs with jira using jasforge
Part 7  - Managing and fixing bugs with jira using jasforgePart 7  - Managing and fixing bugs with jira using jasforge
Part 7 - Managing and fixing bugs with jira using jasforge
Jasmine Conseil
 
Part6 introducing the jas forge collaborative project
Part6   introducing the jas forge collaborative projectPart6   introducing the jas forge collaborative project
Part6 introducing the jas forge collaborative project
Jasmine Conseil
 
Part 4 - Managing your svn repository using jas forge
Part 4  - Managing your svn repository using jas forgePart 4  - Managing your svn repository using jas forge
Part 4 - Managing your svn repository using jas forge
Jasmine Conseil
 
Part 3 JasForge the collaborative and agile project v1.0
Part 3   JasForge the collaborative and agile project v1.0Part 3   JasForge the collaborative and agile project v1.0
Part 3 JasForge the collaborative and agile project v1.0
Jasmine Conseil
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
Jasmine Conseil
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
Jasmine Conseil
 
JasForge : the collaborative agile project
JasForge : the collaborative agile projectJasForge : the collaborative agile project
JasForge : the collaborative agile project
Jasmine Conseil
 
Jasforgepresentationv1 3
Jasforgepresentationv1 3Jasforgepresentationv1 3
Jasforgepresentationv1 3
Jasmine Conseil
 
JasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative PlatformJasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative Platform
Jasmine Conseil
 
Jasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile ProjectJasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile Project
Jasmine Conseil
 
Jasforge Agile Collaborative Platform
Jasforge Agile Collaborative PlatformJasforge Agile Collaborative Platform
Jasforge Agile Collaborative Platform
Jasmine Conseil
 
Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017Meet up paris 13 of jun 2017
Meet up paris 13 of jun 2017
Jasmine Conseil
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Jasmine Conseil
 
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en AfriqueL'ecosysteme Android, une chance pour le developpement logiciel en Afrique
L'ecosysteme Android, une chance pour le developpement logiciel en Afrique
Jasmine Conseil
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
Jasmine Conseil
 
Android Studio, premier contact
Android Studio, premier contactAndroid Studio, premier contact
Android Studio, premier contact
Jasmine Conseil
 
Ecm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forgeEcm 5 13_djaafar_jas_forge
Ecm 5 13_djaafar_jas_forge
Jasmine Conseil
 
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures EvolutionsPart 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Part 8 - Enforcing modularity of JasForge using OSGI and Futures Evolutions
Jasmine Conseil
 
Part 7 - Managing and fixing bugs with jira using jasforge
Part 7  - Managing and fixing bugs with jira using jasforgePart 7  - Managing and fixing bugs with jira using jasforge
Part 7 - Managing and fixing bugs with jira using jasforge
Jasmine Conseil
 
Part6 introducing the jas forge collaborative project
Part6   introducing the jas forge collaborative projectPart6   introducing the jas forge collaborative project
Part6 introducing the jas forge collaborative project
Jasmine Conseil
 
Part 4 - Managing your svn repository using jas forge
Part 4  - Managing your svn repository using jas forgePart 4  - Managing your svn repository using jas forge
Part 4 - Managing your svn repository using jas forge
Jasmine Conseil
 
Part 3 JasForge the collaborative and agile project v1.0
Part 3   JasForge the collaborative and agile project v1.0Part 3   JasForge the collaborative and agile project v1.0
Part 3 JasForge the collaborative and agile project v1.0
Jasmine Conseil
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
Jasmine Conseil
 
JasForge Community project : Future Evolution
JasForge Community project : Future EvolutionJasForge Community project : Future Evolution
JasForge Community project : Future Evolution
Jasmine Conseil
 
JasForge : the collaborative agile project
JasForge : the collaborative agile projectJasForge : the collaborative agile project
JasForge : the collaborative agile project
Jasmine Conseil
 
Jasforgepresentationv1 3
Jasforgepresentationv1 3Jasforgepresentationv1 3
Jasforgepresentationv1 3
Jasmine Conseil
 
JasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative PlatformJasForge: The Agile Collaborative Platform
JasForge: The Agile Collaborative Platform
Jasmine Conseil
 
Jasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile ProjectJasforge : The Collaborative Agile Project
Jasforge : The Collaborative Agile Project
Jasmine Conseil
 
Jasforge Agile Collaborative Platform
Jasforge Agile Collaborative PlatformJasforge Agile Collaborative Platform
Jasforge Agile Collaborative Platform
Jasmine Conseil
 

Recently uploaded (20)

AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 

Part 2 improving your software development v1.0

  • 1. Part 2: Improving your software development process March 2011 Santa Clara Karim DJAAFAR CO of Jasmine Conseil
  • 2. Outline Towards a better build process using agile tools Build Managements Continuous Integration, Principles and Tools JasForge project Using hudson in jasforge Project Demos
  • 3. TOWARDS A BETTER BUILD PROCESS USING AGILE TOOLS
  • 4. Build is often a hard process
  • 5. What Is a Build? A build is much more than a compile (or its dynamic language variations) A build may consist of the compilation, testing, inspection, and deployment—among other things A build acts as the process for putting source code together and verifying that the software works as a cohesive unit.
  • 6. The Integrate button Source : Continuous Integration by Paul M. DUVALL
  • 7. Why using Build Tools? Builds are messy Builds are hard It is hard to learn how to do them “right” - what is “right” by the way? Builds are typically not well documented Trial and error ... and you often run out of bamboo ...
  • 8. Build Tools Automation in a agile scenario CI Build Server Automated testing Automated code quality Build Tool
  • 9. Build Tool Collect input Process inputs Generate final outputs
  • 10. Build Tool - Inputs Source code Java, SQL Resources Properties, XML Dependencies Libraries, components, frameworks
  • 11. Build Tool - Processing Compile Run tests Copy files Replace keywords Package Install / deploy
  • 12. Build Tool - Outputs JAR / WAR / EAR files Zip files Reports
  • 13. What is the primary build tool and release management you typically use ? Source: Eclipse community Survey
  • 14. Maven Project and artifact-based build platform Uses repositories to manage artifacts and third party libraries Customized by modifying the behavior of the life-cycle via plugins.
  • 15. Maven and the Development Build Process Maven the source build management tool for enterprise Java projects Use declarative approche rather then the task-based approach used in Ant or in traditional Make files or shell scripts Promotes the use of standard directory structures and a well-defined build lifecycle Support quality metric reporting and documentation generation tool throw the use of plugins
  • 16. Phases: build life cycle The standard goals for building: compile & test - compile and test the code package – build and test the artifact install – package the artifact and install to local repository deploy – package the artifact and copy to the remote repository (release time) Release management
  • 17. Common way to build applications MOJO – Maven 2 Plugins Project http://mojo.codehaus.org/ plugins user e.g. mvn install M2 generate- sources compile test install deploy package integration- test Well-known phases mojo mojo mojo mojo mojo bindings
  • 19. What is CI (Continuous Integration) ? “ Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (includingtest) to detect integration errors as quickly as possible.” Martin Fowler.
  • 21. A CI scenario starts with the developer committing source code to the repository. On a typical project, people in many project roles may commit changes that trigger a CI cycle: Developers change source code, database administrators (DBAs) change table definitions, build and deployment teams change configuration files, interface teams change DTD/XSD specifications, and so on… Continuous Integration (CI) scenario
  • 22. Why do we need CI ? Replace big (and long) integration phases with small and frequent ones Ideally instantaneous Think of « incremental compilation » in Eclipse Minimize integration effort Keep the development process running … CI was introduced with XP principles and by Martin Fowler
  • 23. The components of a CI system Commit changes Compile Source Code, Integrate Database, Run Tests, Run Inspections, Deploy Software Feedback Mechanism Generate feedback SCM Server (Svn, Git, …) CI Server
  • 24. Workflow Checkout from SCM Code a new feature Run automated build on my machine Repeat 2 and 3 until test pass ! Merge with latest changes from SCM Fix and rebuild until test pass Commit Run a build on a clean machine Immediately fix bugs and integration issues
  • 25. Version Control Repository Simply put, you must use a version control repository in order to perform CI Even if you don’t use CI, a version control repository should be standard for your project The purpose of a version control repository is to manage changes to source code and other software assets (such as documentation) using a controlled access repository There are different types of version control systems you can use too We use Subversion for most of the examples in this seminar
  • 26. Continuous Integration not exist without TDD ! A software development practice where members of a team integrate their work frequently usually each person integrates at least daily (Martin Fowler) CI leads to significantly reduced integration problems and allow a team to develop cohesive software more rapidly and reduce risk To complete this definition Automated, self-testing and fast builds Make it easy for everyone to get the last executable Automate deployment Everyone can see what’s happening progress, statistics on code coverage tests, etc … Reduced risks
  • 27. Continuous Integration Major tools Hudson No install required put a war in a web container) Cruise Control Continuum Java and Ant/Maven based Open Source …
  • 28. Every commit much triggers a build ! Commit at least daily… As soon as you have completed an independent functionnality A full build on another empty machine Not on your own ! With hudson SCM polling Cron-like scheduller Trigger with http request (from maven or svn commit hook)
  • 29. JASFORGE © PROJECT AND HUDSON CI TOOL
  • 30. Managing all the agile tool is a complex process Today, managing and taking control of your software process is a major challenge for maintaining is capacity to be innovative and competitive Ho can we manage efficiently all these toolls in an unified way ? We must manage the quality of our software development en meet the requirements and delays in a predictive mode This is the aim of JasForge © Project ( http://www.jasforge.com ) : Taking the control of your development process using an “agile “ approache
  • 31. What is JasForge ? Jasforge is an Open Source project to build a scalable Team collaboration platform for Integrating work across the phases of the development lifecycle Available: Community Edition (Eclipse Public License) Enterprise Edition Exemple of tools : hudson
  • 32. Hudson ? Open-source CI server Writen in java ( https://hudson.dev.java.net/ ) Extensibility 230+ community-developed public plugins By 230+ contributors Estimated 13,000 installations
  • 33. Basic Feature Set Hudson notices that there is a code change Checks out the source code CVS, Subversion, ClearCase, Mercurial, Accurev, Perforce, Git, StarTeam, … Builds Ant, Maven, shell script, NAnt, … Record and publish results Tool Integration Findbugs, Corbertura, ...
  • 34.  List of projects
  • 38. Provides Feedback RSS feeds Email/IM notification Tray application to notify developers Linux/Windows (Toolbar), Mac (Growl)
  • 39. JASFORGE © HUDSON TOOLS
  • 40. Full CI support with Hudson Tool using SOAP/REST Support Notice is managed by LDAP Authentification inside Hudson Page  XML/RPC Hudson SOAP/REST createBuildService …… HTTP
  • 42. Thank you for your Attention Jasforge: A Jasmine Conseil concept http://www.jasmineconseil.com Need More information ? [email_address]

Editor's Notes

  • #24: 1. First, a developer commits code to the version control repository. Meanwhile, the CI server on the integration build machine is polling this repository for changes (e.g., every few minutes). 2. Soon after a commit occurs, the CI server detects that changes have occurred in the version control repository, so the CI server retrieves the latest copy of the code from the repository and then executes a build script, which integrates the software. 3. The CI server generates feedback by e-mailing build results to specified project members. 4. The CI server continues to poll for changes in the version control repository.
  • #32: An agile Platform to manage Continuous Integration Process Help development team to better collaborate and be efficient in their daily task (project creation, development, tests, integration, deployment ...)   A central platform for the creation and managing of middle to complex projects, from the inception to the deployment Available in two edition: Community Edition (Eclipse Public License) Enterprise Edition
  • #42: Démo video CreateProject ImportProject