Publishing automation using DevOps - STC India · Srikanta Dash and Visagan Santhanam, Unisys India...

Preview:

Citation preview

December 8, 2017Srikanta Dash and Visagan Santhanam, Unisys India Pvt. Ltd.

Publishing automation using DevOpsSTC India Annual Conference

© 2017 Unisys Corporation. All rights reserved. 2

Disclaimers

• The contents and opinions expressed in the following slides and during this presentation session are purely the views of the presenters and not necessarily that of Unisys.

• All third-party trademark and registered trademark rights are duly acknowledged and due credit is given.

© 2017 Unisys Corporation. All rights reserved. 3

Background

• Migrated a massive help project with over 7000 HTML files to XML/DITA

• Five different client-specific Eclipse help outputs

• Support on Windows and Linux based application servers

• Development team follows the Agile development methodology- SCRUM

• Necessitated support for Continuous Integration(CI) and Continuous Deployment(CD)

© 2017 Unisys Corporation. All rights reserved. 4

Existing Content Management System architecture

• TortoiseSVN – Repository of the DITA files and version control tool

• Arbotext Editor – Authoring tool

• DITA OT – Publishing engine

© 2017 Unisys Corporation. All rights reserved. 5

Initial help delivery mechanism

The process of publishing and delivering the help output was dependent on multiple persons mostly our tooling engineers.

Checkout DITA Files from SVN

Author using

Arbotext Editor

Commit into SVN

Login to Deployment

Server

Take Latest Version

from SVN

Run

DITA-OT Command

Copy the WAR file to

FTP

Deploy in Test Server

© 2017 Unisys Corporation. All rights reserved. 6

Current help delivery mechanism

Checkout DITA Files from SVN

Author using

Arbotext Editor

Commit into SVN

Login to Deployment

Server

Take Latest Version

from SVN

Run

DITA-OT Command

Copy the WAR file to

FTP

Deploy in Test Server

Checkout DITA Files from SVN

Author using Arbotext Editor

Commit into SVNLogin to Jenkins and

click “Build Now”

© 2017 Unisys Corporation. All rights reserved. 7

DevOps solution overview for help publishing

• Designed and implemented a publishing solution to support the CI/CD methodologies adopted by the development team

• Progressive step towards implementing a DevOps culture within the Information Development team

• Automation is critical for successful implementation of CI/CD practices

© 2017 Unisys Corporation. All rights reserved. 8

DevOps solution architecture

© 2017 Unisys Corporation. All rights reserved. 9

Jenkins overview

• Open source Continuous Integration server used by the DevOps framework to automate builds

• Broken into four sub-steps

– Location of source code (SVN/GiT)

– Identification of tool to perform the build (Maven, batch, Ant, etc.)

– Identification of the build script (how to pull from subversion)

– Post build steps (send email, start another build, and so on)

• Highly configurable and extensible

© 2017 Unisys Corporation. All rights reserved. 10

Nexus overview

• Nexus is an artifacts repository management tool that manages dependencies of projects and creates a new way to share it within the organization.

• Artifacts can be dlls, exes, jars, wars, binaries, and so on.

• In addition, it also contains metadata about the artifacts, such as dependencies and license information.

© 2017 Unisys Corporation. All rights reserved. 11

Benefits

• Single click publishing and deployment on multiple environment

• Easy integration of help files with the development build using Nexus

• Mostly open source tools based solution with larger community support

• Complete automation of the build process with defined frequency (time bound)

• Reduced manual intervention and dependency

© 2017 Unisys Corporation. All rights reserved. 12

Questions

© 2017 Unisys Corporation. All rights reserved. 13

srikanta.dash@unisys.com

linkedin.com/in/srikanta-dash-7a461436

Visagan.Santhanam@in.unisys.com

https://www.linkedin.com/in/svisagan

Recommended