User Tools

Site Tools


build:jenkins

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
build:jenkins [2018/10/18 23:00]
mjallison created
build:jenkins [2018/10/25 17:50] (current)
mjallison [Web Application Builds]
Line 1: Line 1:
 +====== Introduction ======
 +
 The Jenkins build system is installed on dev.agtek.com. It's a Java application running within the The Jenkins build system is installed on dev.agtek.com. It's a Java application running within the
 Tomcat application environment. The build system for Agtek will perform continuous integration ​ Tomcat application environment. The build system for Agtek will perform continuous integration ​
Line 15: Line 17:
  
 Jenkins will kick off a build (usually within 15 minutes, configuration time) when new code is  Jenkins will kick off a build (usually within 15 minutes, configuration time) when new code is 
-checked into the associated repository. ​+checked into the associated repository
 + 
 + 
 +Everything discussed here runs under the build account (u=build/​pw=build396).
  
 ====== Android Builds ====== ====== Android Builds ======
Line 28: Line 33:
 (manually) to /​var/​www/​html/​build/​SmartDirt (btw: historical reasons for the name, nothing fancy). ​ (manually) to /​var/​www/​html/​build/​SmartDirt (btw: historical reasons for the name, nothing fancy). ​
 Old release copies should then be copied to /​var/​www/​html/​build/​SmartDirt/​old. Old release copies should then be copied to /​var/​www/​html/​build/​SmartDirt/​old.
 +
 +Building an Android app for release on the Play store takes a couple of more steps. Each play store
 +version is identified by an integer (variously called a "build number"​ or "​release number"​). This integer
 +is only loosely related to the versions string (e.g. 1.5.2) in that the build number must always be larger
 +than the previously release. ​
 +
 +These release numbers are constants defined inside the Manifest (example from TrackManager,​ release == 11):
 +
 +''<​manifest xmlns:​android="​http://​schemas.android.com/​apk/​res/​android"​\\
 +    package="​com.agtek.trackmanager"​\\
 +    android:​versionCode="​11"​\\
 +    android:​versionName="​1.4.1"​ >\\
 +
 +''​
  
 ====== Server Builds ====== ====== Server Builds ======
 +The AccessServer is built via a regular ant script, and all the code is contained in a single repository. ​
 +Typically the build system is building from the branch "​master"​ and seldom builds from release branches.
 +
 +Each build run also runs the JUnit unit tests. A failure of the unit tests will cause the build to fail. 
 +
 +When the build is ready for roll out, the build user must capture the built copy of the server. ​
 +This is done with the following commands:
 +
 +''​ssh -P 23456 build@dev.agtek.com\\
 +# after completing the log-in\\
 +snap\\
 +''​\\
 +
 +The "​snap"​ script will copy the release items from the latest build, AND lay a versioned/​dated tag on the branch.
 +The "​snapped"​ server components will be in a directory called something like "​server-2018-10-18"​. ​
 +
 +====== Web Application Builds ======
 +The AccessWeb application is build via a regular ant script, and all the code is contained in a single repository. ​
 +Typically the build system is building from the branch "​master",​ but maintenance branches have been set up
 +and builds may occur from them. As of the current date (2018-10-18) the only build configured is for the "​1.4" ​
 +release line. 
 +
 +When the build has completed the build user must capture a version of the application. This is done with the following commands:
 +
 +''​ssh -P 23456 build@dev.agtek.com\\
 +# after completing the log-in\\
 +wsnap\\
 +''​\\
 +
 +After a "​wsnap"​ the server components are stored in a directory like "​accessweb-2018-10-18"​.
 +Inside are two WAR files; AccessWeb.war and AccessWeb##​support.war.
 +
 +The "​AccessWeb.war"​ file is the AccessWeb application to be deployed in the Tomcat server.
 +The servers are either "​apps.agtek.com"​ or "​beta.agtek.com"​. Which actual server the web app
 +is deployed to depends on the state of the current release (testing vs. production roll out).
 +
 +The "​AccessWeb##​support.war"​ file is the Support web tool for the support department. It is always installed
 +in the Tomcat instance running on dev.agtek.com.
  
  
build/jenkins.1539903654.txt.gz · Last modified: 2018/10/18 23:00 by mjallison