Top Banner
New Media Code Deployment & Open Source Prepared By Lee Jen Wei 20 July 2012
30
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mantis Code Deployment Process

New Media

Code Deployment&

Open Source

Prepared By Lee Jen Wei20 July 2012

Page 2: Mantis Code Deployment Process

Integrating Mantis and SVN

Integrating Mantis and SVN

Open Source Resources

Open Source Resources

Mantis DemoMantis Demo

Page 3: Mantis Code Deployment Process

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)

Page 4: Mantis Code Deployment Process

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

Page 5: Mantis Code Deployment Process

Mantis -Report Issue

Page 6: Mantis Code Deployment Process

Mantis - My View

Page 7: Mantis Code Deployment Process

Mantis - View An Issue

Page 8: Mantis Code Deployment Process

Mantis - Edit Issue

Page 9: Mantis Code Deployment Process

Mantis - List Issues

Page 10: Mantis Code Deployment Process

Mantis - Summary Report

Page 11: Mantis Code Deployment Process

Mantis - Custom Fields

Page 12: Mantis Code Deployment Process

Mantis - Custom Workflow Matrix

Page 13: Mantis Code Deployment Process

Access RolesAccess Roles

ViewerViewer

ReporterReporter

UpdaterUpdater

DeveloperDeveloper

ManagerManager

AdministratorAdministrator

Default StatusDefault Status

ResolvedResolved

AssignedAssigned

ConfirmedConfirmed

AcknowledgeAcknowledge

FeedbackFeedback

NewNew

Mantis - Custom Workflow Matrix

Page 14: Mantis Code Deployment Process

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)

Page 15: Mantis Code Deployment Process

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

Page 16: Mantis Code Deployment Process

Subversion – Windows Client

Page 17: Mantis Code Deployment Process

Subversion – Netbeans IDE with SVN Plugin

Page 18: Mantis Code Deployment Process

Report Issue

Fix Issue

Deploy

Test

Close

User

Developers

Deployment Cycle

Page 19: Mantis Code Deployment Process

Integrated Code Deployment Process Overview

Page 20: Mantis Code Deployment Process

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

Page 21: Mantis Code Deployment Process

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 #

Page 22: Mantis Code Deployment Process

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

Page 23: Mantis Code Deployment Process

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

Page 24: Mantis Code Deployment Process

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

Page 25: Mantis Code Deployment Process

Integrated Code Deployment Process Overview

Page 26: Mantis Code Deployment Process

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

Page 27: Mantis Code Deployment Process

Mantis - Edit Issue – Code Fix Filenames

Page 28: Mantis Code Deployment Process

Sample Email Deployment Report

Page 29: Mantis Code Deployment Process

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/)

Page 30: Mantis Code Deployment Process

Thank You