mantis code deployment process

30
New Media Code Deployment & Open Source Prepared By Lee Jen Wei 20 July 2012

Upload: jen-wei-lee

Post on 17-Jul-2015

174 views

Category:

Technology


0 download

TRANSCRIPT

New Media

Code Deployment&

Open Source

Prepared By Lee Jen Wei20 July 2012

Integrating Mantis and SVN

Integrating Mantis and SVN

Open Source Resources

Open Source Resources

Mantis DemoMantis Demo

is a flexible, web-based issue tracker implemented in PHP and works with MySQL, MS SQL, and PostgreSQL databases

and a web server.

Almost any web browser should be able to function as a client.

Mantis Bug Tracker

GNU General Public License (GPL)

Mantis Feature Listhttp://www.mantisbt.org/wiki/doku.php/mantisbt:features

• Simple User Experience

• Customizable Issue Pages

• Multiple Projects per instance

• Support for Projects, Sub-Projects, and

Categories

• Users can have a different access level

per project

• My View Page

• Search and Filter

• Built-in Reporting

• Custom Fields

• Email notifications

• Users can monitor specific issues

• Attachments

• Issue Change History

• Customizable issue workflow

• Export to csv, Microsoft Excel, Microsoft Word

• Reporting issues via Email

• Source Control Integration (GIT, SVN and

CVS).

• Time Tracking

• Issue Relationships

• Attachment Auto-Preview

• Public / Private News

• Sticky Issues

• Group Actions: applied on multiple issues.

• Easy hyperlinks to issues and notes

• Authentication

Mantis -Report Issue

Mantis - My View

Mantis - View An Issue

Mantis - Edit Issue

Mantis - List Issues

Mantis - Summary Report

Mantis - Custom Fields

Mantis - Custom Workflow Matrix

Access RolesAccess Roles

ViewerViewer

ReporterReporter

UpdaterUpdater

DeveloperDeveloper

ManagerManager

AdministratorAdministrator

Default StatusDefault Status

ResolvedResolved

AssignedAssigned

ConfirmedConfirmed

AcknowledgeAcknowledge

FeedbackFeedback

NewNew

Mantis - Custom Workflow Matrix

is an open-source, centralized version control system characterized by its reliability as a safe haven for valuable data;

the simplicity of its model and usage; and its ability to support the needs of a wide variety of users and projects,

from individuals to large-scale enterprise operations.

Subversion

GNU General Public License (GPL)

Subversion Features http://subversion.apache.org/features.html

• Directories are versioned

• Copying, deleting, and renaming are

versioned

• Free-form versioned metadata properties

• Atomic commits

• Branching and tagging are cheap

(constant time) operations

• Merge tracking

• File locking

• Symbolic links can be versioned

• Executable flag is preserved

• Apache network server option, with

WebDAV/DeltaV protocol

• Standalone server option (svnserve)

• Parseable output/scriptability

• Localized messages

• Interactive conflict resolution

• Repository read-only mirroring

• Natively client/server, layered library design with

clean APIs

• Binary files handled efficiently

• Costs are proportional to change size, not data

size

• Bindings to programming languages

Subversion – Windows Client

Subversion – Netbeans IDE with SVN Plugin

Report Issue

Fix Issue

Deploy

Test

Close

User

Developers

Deployment Cycle

Integrated Code Deployment Process Overview

Developers work on their workstations NetBeans IDE used Upload changes to development server Test in development web server Commit to SVN through NetBeans IDE or Tortoise SVN

Developers work on their workstations NetBeans IDE used Upload changes to development server Test in development web server Commit to SVN through NetBeans IDE or Tortoise SVN

Integrated Code Deployment Process Overview

Integrated Code Deployment Process Overview

Mantis Bug Tracker

Custom Status and WorkflowCustom FieldsUser report issuesDevelopers fix issuesDevelopers input fixes/files on custom field“Code Fix Filenames”Fixed codes are deployed by

oMantis issue #oSVN revision #

Custom Status and WorkflowCustom FieldsUser report issuesDevelopers fix issuesDevelopers input fixes/files on custom field“Code Fix Filenames”Fixed codes are deployed by

oMantis issue #oSVN revision #

Integrated Code Deployment Process Overview

Subversion ServerReside in Build ServerCentralised Version Control Repository Multiple developer clients simultaneously connectSVN or HTTP protocol

Subversion ServerReside in Build ServerCentralised Version Control Repository Multiple developer clients simultaneously connectSVN or HTTP protocol

Integrated Code Deployment Process Overview

Subversion RepositoryCustom Deployment Script

oSubversionoMantisoServers (SIT, QA, PRD)oEmail Report

Backup & Rollback storageCentralised FTP from here

Subversion RepositoryCustom Deployment Script

oSubversionoMantisoServers (SIT, QA, PRD)oEmail Report

Backup & Rollback storageCentralised FTP from here

Integrated Code Deployment Process Overview

Code Fixes upload to SIT, QA & PRD serversBased on Mantis: “Pending Code Promotion xxx” Status

Code Fixes upload to SIT, QA & PRD serversBased on Mantis: “Pending Code Promotion xxx” Status

Integrated Code Deployment Process Overview

Mantis – Custom Deployment Status

NewNew

AssignedAssigned

Fix in Progress

Fix in Progress

Pending Code Promotion SITPending Code Promotion SIT

Pending Code Promotion UATPending Code Promotion UAT

Pending Code Promotion PRDPending Code Promotion PRD

Ready for Retest UATReady for Retest UAT

Ready for Retest SITReady for Retest SIT

Ready for Retest PRDReady for Retest PRD

ClosedClosed

RejectedRejected

DuplicateDuplicate

deploy

deploy

deploy

Mantis - Edit Issue – Code Fix Filenames

Sample Email Deployment Report

Open Source Resources:

Tools used:

Mantis Bug Tracker (http://www.mantisbt.org/)Apache Subversion (SVN Server) (http://subversion.apache.org/)Tortoise Subversion (Windows SVN Client) (http://tortoisesvn.net/)NetBeans IDE (http://netbeans.org/)

Other Collaboration Tools:

Softaculous Demo (http://demo.softaculous.com/enduser/#!act=listsoftwares&cat=projectman)

SourceForge (http://sourceforge.net/)

Backend Engine Tools:

Apache Software Foundation (http://www.apache.org/)

Thank You