eXo Software Factory Overview

Post on 10-May-2015

7.106 views 0 download

Tags:

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

Transcript of eXo Software Factory Overview

eXo Software FactoryHarder, Better, Faster, Stronger

Friday, January 27, 12

• 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

• 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

• 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 : exo-swf@exoplatform.com

• Skype : aheritier

How are we working ?

Friday, January 27, 12

WIKI

Confluence

Friday, January 27, 12

Confluence

Friday, January 27, 12

SCMsSources management

Friday, January 27, 12

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

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

NexusBinaries management

Friday, January 27, 12

Nexus

Friday, January 27, 12

Nexus for productivity

Friday, January 27, 12

Nexus for collaborationDeploy 3rd Party ArtifactsCollaborate with Internal

RepositoriesDistribute to the community with

Public RepositoriesDistribute to customers with

Private Repositories

Friday, January 27, 12

JiraIssues and tasks management

Friday, January 27, 12

Jira

Friday, January 27, 12

Jira with Greenhopper

Friday, January 27, 12

Jira with Bonfire

Friday, January 27, 12

JenkinsAutomation and scheduling : Build, Tests, Deployment

Friday, January 27, 12

Jenkins

Friday, January 27, 12

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

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

Mobile developments - continuous integration and deployment

Friday, January 27, 12

Reporting and dashboards

• Jenkins => Teams

• Emails (email-ext plugin)

• Teams => Jenkins

• Dashboard views

• Radiator views

Friday, January 27, 12

Dashboards

Friday, January 27, 12

Unstable Build Notification

Friday, January 27, 12

Build Failure Notification

Friday, January 27, 12

Radiator views

Friday, January 27, 12

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

SonarQuality management

Friday, January 27, 12

Sonar, a quality dashboard

Friday, January 27, 12

Sonar, analyze your project

Friday, January 27, 12

Sonar, Continuous Improvement ?

Friday, January 27, 12

AcceptanceTests platform

Friday, January 27, 12

Acceptance

Friday, January 27, 12

Fisheye & CrucibleSources browsing and code review

Friday, January 27, 12

Fisheye/Crucible

Friday, January 27, 12

Teams Code ReviewsAsynchronous, distributed discussions

Friday, January 27, 12

Have fully threaded conversations about source code with your others.

Friday, January 27, 12

Simply click on some lines to add comments.

Friday, January 27, 12

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

Friday, January 27, 12

Flag a comment as a defect to highlight it.

Friday, January 27, 12

Teams Code ReviewsManage reviews

Friday, January 27, 12

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

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

Friday, January 27, 12

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

Friday, January 27, 12

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

Friday, January 27, 12

Use change set comments as a catalyst for code discussions.

Friday, January 27, 12

Reviews evolve as your code evolves

Friday, January 27, 12

Live updates and notifications

Friday, January 27, 12

Teams Code ReviewsDashboard & Reports

Friday, January 27, 12

Activity StreamFriday, January 27, 12

Who is holding up Friday, January 27, 12

Which issues are being held up by reviews?

Friday, January 27, 12

Teams Code ReviewsJira Integration

Friday, January 27, 12

Create Jira issuesFriday, January 27, 12

Resolve subtasks from Crucible

Friday, January 27, 12

Create reviews from JiraFriday, January 27, 12

Follow reviews attached to a jira project

Friday, January 27, 12

Conclusion

Friday, January 27, 12

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

Questions

Friday, January 27, 12