Site Tools


Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
internal:rm:software_configuration_management

Software Configuration Management

Objectives

  • To maintain stable software baseline
  • To ensure controlled practice for implementing changes to existing software baseline.
  • To ensure traceability of changes effected in software baseline.

Configuration Management Policy:

  1. Each changes to our software baseline are controlled through version control repository
  2. Each Release baseline is tracked using release specific tag.
  3. Multiple parallel software baselines are controlled using multiple work branches at version control repository.

Software Repositories:

<graphviz> digraph product_svn_tree {

      node [style=rounded, fontname=Verdana, fontsize=13 fillcolor="grey"];
      nodesep=0.8 // increases the separation between nodes
      edge [fontname=Times, fontsize=10];
      H [label="ExpertusONE trunk", shape=box];
      T1 [label = "v3.1.3.0", shape=box ];
      B1 [label="newui_branch", shape=box];
      T2 [label = "v3.1.4.0", shape=box];
      B2 [label= "v3.1.4.0_branch", shape=box];
      
      H  -> T1 -> T2 -> { B2 };
      T1 -> { B1 };

} </graphviz>

Software Repositories:

ExpertusONE Product
baselineURLComments
Main Trunk http://svnprod/svn/Product/trunk/SPP/Construction
newui branch http://svnprod/svn/Product/branches/newui_branch/Construction Branched from v3.1.3.2 tag of trunk
v3.1.3.2 branch http://svnprod/svn/Product/branches/v3.1.3.2_branch/Construction Branched from v3.1.3.2 tag of trunk
v3.1.4.0 branch http://svnprod/svn/Product/branches/v3.1.4.1_branch/Construction Branched from v3.1.4.0 tag of trunk
v3.1.4.7.bt http://svnprod/svn/Product/tags/v3.1.4.7.bt/Construction Tagged from v3.1.4.0_branch (given to halliburton and POD365)
newui_v3.1.5.0.bt http://svnprod/svn/Product/tags/newui_v3.1.5.0.bt/Construction/ Tagged from newui_branch baseline merged to trunk
v3.1.5.0_post_newui_merge http://svnprod/svn/Product/tags/v3.1.5.0_post_newui_merge/ Tagged from trunk after the newui branch got merged
POD365
baselineURLComments
POD365 http://svnprod/svn/POD365/trunk/POD365/Construction/ Created from v3.1.4.7.bt tag (given to POD365)
baselineURLComments
Main Trunk http:/svnprod/svn/Halliburton/trunk/Halliburton/Construction branched out from v3.1.3.2
WellsFargo
baselineURLComments
Main Trunk http:/svnprod/svn/WellsFargo/trunk/WellsFargo/Construction migrated from CVS WellsFargo repository
Halliburton
CVS Repository: /SmartPortal
CVS Module: /SmartPortal
Autodesk
baselineURLComments
Main Trunk http:/svnprod/svn/Autodesk/trunk/Autodesk/Construction migrated from CVS AutodeskNew repository
COP
CVS Repository: /
CVS Module: /
Medtronic
CVS Repository: /
CVS Module: /
ADP
CVS Repository: /
CVS Module: /
 

Software Version Control Tools:

A) Subversion (SVN) 1.6.6  
B) CVS  

Software Version Control Practices:

QA/STAGING/DEMO Automatic deployment:

1 QA/Staging/Demo  deployment is done automatically through Jenkins tool.Jenkins tool is explained in the link  [[rm:build_release_automation]]   
 
2 For "Incremental/Full build" in jenkins tool under  "Build Now" section provide below parameters according to project:
* RELEASE_VERSION
* BASE_VERSION
* BUILD_TYPE=incremental/full 
3`Check` the following parameters
  • TAG_IT
  • runbuild
  • qa_deploy/staging/demo (according to deployment)
  • Under the section “Configure” in post-build Actions select “ send build artifacts over FTP ” and provide the details according to project to push the release to FTP.
  • Now build the release.

NEW ENVIRONMENT SETUP:

Let us take the example of setting up XYZ environment with loris release v3.6.3.5.0:

1 Check out code from SVN to local folder
  Command:svn co  http://192.168.7.11/svn/Product/tags/v3.6.3.5.0.bt/SPP/Construction
2 Remove .svn files
  Command:find -name .svn | xargs rm -rf {}\;
3 Zip ExpertusONE and ExpertusONE_db folders separately  
  Command:zip -r ExpertusONE.zip .
  Command:zip -r ExpertusONE_db.zip .

===== Web Deployment =====     
1 Copy Web component to XYZ environment 
  Command:scp-rp ExpertusONE.zip user@184.106.202.130:/home/user
2 Copy from home directory to XYZ directory
  Command:sudo cp /home/expid01/ExpertusONE.zip /opt/ESP2/apache2/htdocs/XYZ
3 cd /opt/ESP2/apache2/htdocs/XYZ
4 unzip ExpertusONE.zip
5 Removal of www.Expertusone.com from the ExpertusONE folder
  Commands:grep -rl "www.expertusone.com" * | xargs sed -i "s/www.expertusone.com/XYZ.expertusone.com/g"
           grep -rl "http:\/\/www.expertusone.com" * | xargs sed -i "s/http:\/\/www.expertusone.com/http:\/\/XYZ.expertusone.com/g"
6 Entry in Exp_sp_ini file 
  DB_URL
  REPORT_DB_URL
   { e.g. (DB_URL = mysql:user:password@localhost/DATABASE-NAME ) (REPORT_DB_URL = mysql:user:password@localhost/DATABASE-NAME)
      }      
   * Memcache Port no       
   * drupal_debug_path=/opt/ESP2/apache2/htdocs/XYZ/ExpertusONE
        [EXPERTUS_DEBUG]
        * debug = On
        * debug_path = /opt/ESP2/apache2/htdocs/XYZ/ExpertusONE
7 Entry in settings.php file
   DB string (by search localhost)
   DB string (by search localhost)
  'default' ⇒array (
  'database' ⇒ 'username' ⇒ 'password' ⇒ 'host' ⇒ 'port' ⇒ 'driver' ⇒ 'prefix' ⇒ '')
  conf['memcache_servers'] = array(
  'localhost:PORTNUMBER(e.g.11211)' ⇒ 'default',
8 Set the Permission level RWX.RW.RW for ExpertusONE folder
9 Virtual Entry in Apache config file 

10 <VirtualHost *:80>

DocumentRoot "/opt/ESP2/apache2/htdocs/XYZ/ExpertusONE"
ServerName XYZ.expertusone.com
ErrorLog "logs/XYZ.expertusone.com-error.log"
CustomLog "logs/XYZ.expertusone.com-access_log" common
#Options Indexes FollowSymLinks ExecCGI Includes
php_flag soap.wsdl_cache_enabled on
php_value soap.wsdl_cache_dir "/opt/ESP2/apache2/htdocs/XYZ/wsdl_cache_dir"
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<LimitExcept GET POST>
</LimitExcept>
RewriteEngine on
RewriteRule ^/services/(.*)?WSDL$ /sites/all/services/LnrService.php?soapaction=$1&showWSDL=true [L]
RewriteRule ^/services/(.*)$ /sites/all/services/Service.php?soapaction=$1 [L]
UseCanonicalName off
<Directory /opt/ESP2/apache2/htdocs/XYZ/ExpertusONE >
   Options Indexes FollowSymLinks MultiViews
   AddType text/ExpertusONE .exm
   AllowOverride All
   Order allow,deny
   Allow from all
   Satisfy any
  <IfModule mod_php5.c>
            php_value magic_quotes_gpc                0
            php_value register_globals                0
            php_value session.auto_start              0
          </IfModule>
</Directory>
</VirtualHost>
===== DATABASE Deployment ===== 

* CREATE DATABASE `xyz` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

GRANT ALL PRIVILEGES ON xyz.* TO 'username'@'localhost' IDENTIFIED BY 'username' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
GRANT ALL PRIVILEGES ON `xyz` . * TO 'username'@'localhost' IDENTIFIED BY 'username';
GRANT ALL PRIVILEGES ON `xyz` . * TO 'username'@'%' IDENTIFIED BY 'username';
GRANT ALL PRIVILEGES ON `mysql` . * TO 'username'@'localhost' IDENTIFIED BY 'username';
GRANT ALL PRIVILEGES ON `mysql` . * TO 'username'@'%' IDENTIFIED BY 'username';

* Copy db component to XYZ environment

Command:scp-rp ExpertusONE_db.zip user@184.106.202.130:/home/user

* Copy from home directory to XYZ directory

Command:sudo cp /home/expid01/ExpertusONE_db.zip /opt/ESP2/apache2/htdocs/XYZ

* cd /opt/ESP2/apache2/htdocs/XYZ * unzip ExpertusONE_db.zip * Extract ExpertusONE_db.sql file

Command:sh build_db.sh default

* Import the ExpertusONE_db.sql file into the XYZ database

Command:mysql -u root -p XYZ < ExpertusONE_db.sql

* Run command :update mysql.proc set character_set_client='utf8',collation_connection='utf8_general_ci' where db='qa2'; to allow greek letters login

* Stop & Start the service

ps -ef | grep memcache
kill -9 UID number
/opt/ESP2/apache2/bin/./apachectl stop
/opt/ESP2/apache2/bin/./apachectl start
memcached -d -m 1024 -u root -l 127.0.0.1 -p 11211 Unordered List Item

* Host file entry (/etc/hosts) e.g. xxx.xxx.x.xx xyz.expertusone.com

* Cache clearance

http://XYZ.expertusone.com/?q=admin/config/development/performance

* Drupal Configuration settings for the release v3.6.3.5

  1.Go to/?q=portalpages/sp_administrator/sys-admin/securitymgmt 
  Edit administrator role - Tick the Cancellation Policy checkbox, Its under Commerce Administration - Click Save Button
  2.Go to/?q=admin/modules - enable “Instructor Desk” module - click save button 
  3.Enable modules for rating: 
  Go to/?q=admin/modules
  Enable the following modules
  i)  ExpertusONE Fivestar
  ii) fivestar
  iii)votingapi
  click save button4. Go to /?q=admin/structure/block 
  “Instructor Desk” block should be assigned under “Highlighted Content”
  4.Go to /?q=admin/structure/block/manage/exp_sp_lnrenrollment/tab_my_enrollment/configure 
  Tick the “Allow auto register for Mandatory training and class”
  click save block  

:-P For Any Queries, Contact Release Management Group

internal/rm/software_configuration_management.txt · Last modified: 2024/02/22 21:35 by 47.128.19.43