Presentation is loading. Please wait.

Presentation is loading. Please wait.

Definition (Wikipedia)  What is deployment ? “Software deployment is all of the activities that make a software system available for use.” 1. Install.

Similar presentations


Presentation on theme: "Definition (Wikipedia)  What is deployment ? “Software deployment is all of the activities that make a software system available for use.” 1. Install."— Presentation transcript:

1

2 Definition (Wikipedia)  What is deployment ? “Software deployment is all of the activities that make a software system available for use.” 1. Install Software 2. Customize local configuration file(s) passwords, remote endpoints, … executable(s) + libraries

3 Situation 2010  Java Restart installs software Log file stored locally Passwords had to be hardcoded or stored separately in funny locations  C/C++ Restarted installs software Copy to disk Auxiliary files accessed via network No Standard Location !

4 Analysis  Deployment information is de facto not standardized Default installation directory Directory structure Process name …  No flexible way to install a product No influence on file/directory structure No post-install changes (e.g. tailoring of config files) No configurable backup policy Deployment Standardization Document

5 Suggestion  Define deployment configuration in file CommonBuild’s product.xml is a good place ○ Developers already know this ○ Some deployment information is already there No need for an additional system  Creation of an installation procedure Uses product.xml to deploy application Projects should have certain deployment flexibility

6 A Closer Look  What to we need ? File and directory structure Installation location Backup policy Process name More ?  Nomenclature Product is the name of the software as from repo ○ E.g. LSA server Application is the concrete instance ○ LHC LSA Server

7 Deployment.xml (product.xml)......

8 The Deploy Tool

9  What is it for ? Simplifying deployment process & reduce your workload Allows developers to take influence on the installation ○ Takes information from deployment config Enforces deployment standards Reduces upgrade time by automation deploy MAVEN CmbBuild

10 The Deploy Tool and Maven  Maven assembly creates a tarball Assembly.xml required  Deploy Copies tarball to local disk Creates backup Extracts tarball to target install dir Copies aux files Preserves directories/files from previous installation Sends deployment notification (mail + STOMP)

11 TAR.GZ Default installation Java (Maven) deploy query product info /opt/… NEXUS/Artifactory Deployment Config

12 Default installation C++ deploy /opt/… Executable + Aux Repository Deployment Config

13 Features Deploy Tool Notification Preserve Files Automatic Backups Create Directories Add additional Files Set Access Rights Create Install Log Startscript Creation Simulation Mode Checkout from SVN Safety checks

14 Summary  Unified way to install software  Allows to simply customize installation  Main tool in CO for Java & (many) C++ services  Simplifies integration test  Reduces workload for developers  Standardises deployment  Easy to extend  Supports Maven (Artifactory & Nexus)  Supports CommonBuild

15

16 copera@cs-ccr-dev4:/)deploy -p diamon-notifier -a diamon-notifier -t /tmp/del [ INFO ] cmnbuild Found only one Application : diamon-notifier [ INFO ] cmnbuild Creating dependency file list.. [ INFO ] install ------------------------------------------------------- [ INFO ] install [ INFO ] install Installation of application 'diamon-notifier' for product 'diamon-notifier' [ INFO ] install [ INFO ] install Application : diamon-notifier [ INFO ] install Product : diamon-notifier [ INFO ] install Version : 1.9.4-002 (PRO) [ INFO ] install Release Date : Thursday, March 5, 2009 09:26:44 [ INFO ] install Source : /user/pcrops/dist/accsoft/diamon/diamon-notifier/PRO [ INFO ] install Started on : Fri, 26 Apr 2013 10:48:30 [ INFO ] install Target directory is : /tmp/del [ INFO ] install Triggered by : ('felixehm', 'copera') [ INFO ] install Host : cs-ccr-dev4.cern.ch [ INFO ] install Force installaton is : False [ INFO ] install Automatic rollback : False [ INFO ] install Keeping backups : 1 [ INFO ] install SimulationMode : False [ INFO ] install [ INFO ] install Starting PreInstallation for diamon-notifier in /tmp/del [ INFO ] install Creating backup for /tmp/del (max 1 are kept) [ INFO ] install Creating /tmp/del [ INFO ] install Preinstallation finished [ INFO ] install Postinstallation starts [ INFO ] install Postinstallation finished [ INFO ] install Sending notifications to []

17 product.xml Diamon central JMS agent...

18 product.xml Diamon central JMS agent... Location of source file Location of source can be.tar.gz or directory

19 Introducing Deployment Info File are copied from source directory

20 Introducing Deployment Info Diamon central JMS agent File are copied from arbitrary directory

21 Introducing Deployment Info Diamon central JMS agent File from SVN

22 Backup Policy Diamon central JMS agent... agent-jms/ agent-jms.1/ agent-jms.2/

23 Replace Strings in Files Diamon central JMS agent

24 Tailoring Installation......

25 Application Inheritance......

26 Generation of a Startscript......


Download ppt "Definition (Wikipedia)  What is deployment ? “Software deployment is all of the activities that make a software system available for use.” 1. Install."

Similar presentations


Ads by Google