OS Packages for Adaptavist Application Manager (aka Avst-App)
This repository contains two things:
- Scripts to build avst-app packages which can then be uploaded and installed from Adaptavist's package server.
- Scripts which are packaged into the various avst-app packages.
Documentation regarding the usage (setup/installation/management) of these packages can be found here.
Some additional information regarding what directories are used can be found in:
It is possible to build both deb and rpm packages using Ubuntu (tested on 14.04) or CentOS (tested on 7).
Prerequisites for building packages on Ubuntu:
sudo apt-get install ruby-dev git rpm sudo gem install fpm # Don't do this on any of our servers
Prerequisites for building packages on CentOS:
sudo yum install ruby-devel git rpm-build dpkg sudo gem install fpm # Don't do this on any of our servers
To build the packages of Atlassian applications (using fpm), run:
To publish the packages of Atlassian applications to Nexus (using mvn), run:
Each available Atlassian product must have a directory within
Three notible exceptions are:
bin/avst-app/: this is the actual shell-script installed into
/usr/binfor installation/management of Atlassian Applications
share/avst-app/lib/atlassian/: the general Atlassian package, which handles common Atlassian Application installation/management tasks
share/avst-app/lib/tomcat/: installation and setup of a Tomcat web server
There is also a
share/avst-app/lib/common/ directory containing scripts that are always run for the avst-app commands.
Within the product-specific directory e.g.
share/avst-app/lib/product/fisheye/ there may be one or more directories with matching names to
those found in the
Within those directories should be a number of shell-scripts performing whatever application-specific code is required for:
- startup (this is run at the start of every command)
- install (which is really just setup)
The naming of these shell-scripts determines the order in which they are run.
For each command given to avst-app, the list of scripts in
share/avst-app/lib/common/<command name>.d/ are combined with those in
the product specific directory (e.g.
share/avst-app/lib/product/jira/<command name>.d/) and ordered using "natural ordering".
The following exit/return codes are used (as of 2014-10-09):
- 01: INSTANCE_NAME not set
- 01: BASE_DIR not set
- 01: Missing Tomcat server.xml
- 10: Missing variable config in avst-app.cfg.sh
- 10: Failed prerequisites
- 10: Install directory already exists
- 11: Java isn't installed
- 11: Can't initialise git repo
- 12: Missing CROWD properties in config file
- 13: HOME_DIR not set
- 20: Missing tarball
- 20: Invalid Bamboo server URL specified
- 20: Missing Coverity installer
- 21: Can't find INSTALL_DIR/bin/installService.sh
- 21: Can't find PROVIDER_FILESYSTEM_DIR
- 21: Can't find database connection details
- 21: Missing artifactory license
- 23: Missing Crowd SSO config file
- 23: Invalid version
- 32: Tarball extraction failed
- 32: JAR extraction failed
- 32: CROWD Wizard not passed
- 32: Missing .version file
- 32: Missing params from avst-app.cfg.sh
- 33: Missing .state file
- 34: Can't upgrade application if not installed/modified
- 36: Unsupported OS
- 38: Search service template not found in INSTALL_DIR
- 45: Can't stop service
- 46: Can't start service
- 50: Can't set CROWD_SSO for unsupported product
- 51: Missing mandatory variables for CROWD
Setup JNDI source
Make sure variables are set:
For more details and defaults check lib/tomcat/modify.d/39set_session_timout and lib/tomcat/modify.d/40tomcat_set_vars
Changing database setup
Setting up database and credentials can be done by setting DB_SETUP_DB=1. For all available options per application check 70setup_db scripts