61
eXo Software Factory Harder, Better, Faster, Stronger Friday, January 27, 12

eXo Software Factory Overview

Embed Size (px)

DESCRIPTION

Arnaud Héritier, Apache Maven Evangelist and eXo Software Factory Manager is giving a quick overview of our software Factory. For more details read his blog post series on http://blog.exoplatform.com

Citation preview

Page 1: eXo Software Factory Overview

eXo Software FactoryHarder, Better, Faster, Stronger

Friday, January 27, 12

Page 2: eXo Software Factory Overview

• Software Factory Team

• Development rules and recommendations

• Methods and Tools

• To improve quality and productivity

• Teams training

• To improve ours skills

• Support & Accompaniment

• About tools, methods, processes, and technical

Software Factory Team

Friday, January 27, 12

Page 3: eXo Software Factory Overview

• Development practices

• Unit tests, integration tests, functional tests, web tests, performances tests

• Code quality

• Java/JEE & Production Architecture

• Development tools

• Build, Packaging, IDE ..

Skills Catalog

Friday, January 27, 12

Page 4: eXo Software Factory Overview

• Documentations are in ours WIKIs

• http://wiki-int.exoplatform.org/display/exoSoftwareFactory/Home

• Activity is tracked in Jira :

• http://jira.exoplatform.org/browse/SWF

• Contact us :

• Email : [email protected]

• Skype : aheritier

How are we working ?

Friday, January 27, 12

Page 5: eXo Software Factory Overview

WIKI

Confluence

Friday, January 27, 12

Page 6: eXo Software Factory Overview

Confluence

Friday, January 27, 12

Page 7: eXo Software Factory Overview

SCMsSources management

Friday, January 27, 12

Page 8: eXo Software Factory Overview

Subversion• https://svn.exoplatform.org/projects/

• Private and public R&D projects

• https://svn.exoplatform.org/exo-int/

• Private developments

• https://svn.exoplatform.org/cp

• Customers projects

• https://svn.exoplatform.org/sandbox/

• Sandbox

Friday, January 27, 12

Page 9: eXo Software Factory Overview

Git

• https://git.exoplatform.org/public/

• Public projects

• https://git.exoplatform.org/private/

• Private projects

• Tests repositories

• https://git.exoplatform.org/public/tests-git/

• https://git.exoplatform.org/private/tests-git/

Proof of concept

Friday, January 27, 12

Page 10: eXo Software Factory Overview

NexusBinaries management

Friday, January 27, 12

Page 11: eXo Software Factory Overview

Nexus

Friday, January 27, 12

Page 12: eXo Software Factory Overview

Nexus for productivity

Friday, January 27, 12

Page 13: eXo Software Factory Overview

Nexus for collaborationDeploy 3rd Party ArtifactsCollaborate with Internal

RepositoriesDistribute to the community with

Public RepositoriesDistribute to customers with

Private Repositories

Friday, January 27, 12

Page 14: eXo Software Factory Overview

JiraIssues and tasks management

Friday, January 27, 12

Page 15: eXo Software Factory Overview

Jira

Friday, January 27, 12

Page 16: eXo Software Factory Overview

Jira with Greenhopper

Friday, January 27, 12

Page 17: eXo Software Factory Overview

Jira with Bonfire

Friday, January 27, 12

Page 18: eXo Software Factory Overview

JenkinsAutomation and scheduling : Build, Tests, Deployment

Friday, January 27, 12

Page 19: eXo Software Factory Overview

Jenkins

Friday, January 27, 12

Page 20: eXo Software Factory Overview

Continuous Integration

Build, Test and Deploy ASAPUsing Maven 2/3

From sources in SVN or GITgooglecode, jboss, exo, github

reposTo Maven repositories

>100 jobs

Friday, January 27, 12

Page 21: eXo Software Factory Overview

PackagingGenerate the full packaging of our

productsReady for demo or tests

Use upstream constraints and a large quiet period to not launch them to often

Use priority sorter plugin with a reduced priority

~15 jobs

Friday, January 27, 12

Page 22: eXo Software Factory Overview

Mobile developments - continuous integration and deployment

Friday, January 27, 12

Page 23: eXo Software Factory Overview

Reporting and dashboards

• Jenkins => Teams

• Emails (email-ext plugin)

• Teams => Jenkins

• Dashboard views

• Radiator views

Friday, January 27, 12

Page 24: eXo Software Factory Overview

Dashboards

Friday, January 27, 12

Page 25: eXo Software Factory Overview

Unstable Build Notification

Friday, January 27, 12

Page 26: eXo Software Factory Overview

Build Failure Notification

Friday, January 27, 12

Page 27: eXo Software Factory Overview

Radiator views

Friday, January 27, 12

Page 28: eXo Software Factory Overview

Quality management• Sonar reports everyday if the code had changed

(polling)

• ~90 jobs

• Continuous deployment and integration or performances tests

• Jmeter

• Selenium

• JMXTrans / Graphite / Zabbix for monitoring

Friday, January 27, 12

Page 29: eXo Software Factory Overview

SonarQuality management

Friday, January 27, 12

Page 30: eXo Software Factory Overview

Sonar, a quality dashboard

Friday, January 27, 12

Page 31: eXo Software Factory Overview

Sonar, analyze your project

Friday, January 27, 12

Page 32: eXo Software Factory Overview

Sonar, Continuous Improvement ?

Friday, January 27, 12

Page 33: eXo Software Factory Overview

AcceptanceTests platform

Friday, January 27, 12

Page 34: eXo Software Factory Overview

Acceptance

Friday, January 27, 12

Page 35: eXo Software Factory Overview

Fisheye & CrucibleSources browsing and code review

Friday, January 27, 12

Page 36: eXo Software Factory Overview

Fisheye/Crucible

Friday, January 27, 12

Page 37: eXo Software Factory Overview

Teams Code ReviewsAsynchronous, distributed discussions

Friday, January 27, 12

Page 38: eXo Software Factory Overview

Have fully threaded conversations about source code with your others.

Friday, January 27, 12

Page 39: eXo Software Factory Overview

Simply click on some lines to add comments.

Friday, January 27, 12

Page 40: eXo Software Factory Overview

Comments can be displayed inline or next to the code they refer to.

Friday, January 27, 12

Page 41: eXo Software Factory Overview

Flag a comment as a defect to highlight it.

Friday, January 27, 12

Page 42: eXo Software Factory Overview

Teams Code ReviewsManage reviews

Friday, January 27, 12

Page 43: eXo Software Factory Overview

Features• Pre-commit: reviewing content that is not under version control. Upload a

piece of code, a file or cut-and-paste from your IDE.

• Post-commit: reviews after the code is committed to the repository.

• Moderated: reviews can have a moderator responsible for a review; creating, approving, and determining when a review is finished.

• Un-moderated: a streamlined process where the review author is the sole person who starts and stops the review is a simple default.

• Snippet: a pastebin service meets peer review - you can simply paste some code and start discussing it with the team, without the need for any formal code review workflow.

• Changeset discussions: commit messages allow a developer to provide information with a commit. Provide free form comments on commit messages.

Friday, January 27, 12

Page 44: eXo Software Factory Overview

Browsing changesets, searching for files, or uploading a patch to add content

Friday, January 27, 12

Page 45: eXo Software Factory Overview

You can use the classic review roles Moderator, Author and Reviewer or let anyone do anything.

Friday, January 27, 12

Page 46: eXo Software Factory Overview

Only a title and code are needed to start a Snippet Review.

Friday, January 27, 12

Page 47: eXo Software Factory Overview

Use change set comments as a catalyst for code discussions.

Friday, January 27, 12

Page 48: eXo Software Factory Overview

Reviews evolve as your code evolves

Friday, January 27, 12

Page 49: eXo Software Factory Overview

Live updates and notifications

Friday, January 27, 12

Page 50: eXo Software Factory Overview

Teams Code ReviewsDashboard & Reports

Friday, January 27, 12

Page 51: eXo Software Factory Overview

Activity StreamFriday, January 27, 12

Page 52: eXo Software Factory Overview

Who is holding up Friday, January 27, 12

Page 53: eXo Software Factory Overview

Which issues are being held up by reviews?

Friday, January 27, 12

Page 54: eXo Software Factory Overview

Teams Code ReviewsJira Integration

Friday, January 27, 12

Page 55: eXo Software Factory Overview

Create Jira issuesFriday, January 27, 12

Page 56: eXo Software Factory Overview

Resolve subtasks from Crucible

Friday, January 27, 12

Page 57: eXo Software Factory Overview

Create reviews from JiraFriday, January 27, 12

Page 58: eXo Software Factory Overview

Follow reviews attached to a jira project

Friday, January 27, 12

Page 59: eXo Software Factory Overview

Conclusion

Friday, January 27, 12

Page 60: eXo Software Factory Overview

SWF linksSubversion :

https://svn.exoplatform.org

Git :

https://git.exoplatform.org

Nexus :

http://repository.exoplatform.org

http://repository.exoplatform.vn

Jenkins :

https://ci.exoplatform.org

Jira :

https://jira.exoplatform.org

Fisheye/Crucible :

https://fisheye.exoplatform.org

Sonar :

https://sonar.exoplatform.org

Confluence :

https://wiki-int.exoplatform.org

Acceptance :

http://acceptance.exoplatform.org

Friday, January 27, 12

Page 61: eXo Software Factory Overview

Questions

Friday, January 27, 12