-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Please make sure the following items are available on the system you are trying to build the Germinate Builder on.
- Germinate source code
- Gatekeeper source code
- Apache Tomcat (8.0.47 or above)
- Java JDK (8 or above)
- MySQL (5.6.1 or above)
The Germinate Builder uses a very simple database to keep track of the instances that can be built using the web interface. To set this database up, run the database/germinate_builder.sql
file against an empty MySQL database.
For the Germinate Builder to be able to talk to this database, set up a database user that has read permissions on all tables. The database and user information will be required in the config.properties
file that is explained in the section below.
Here is a description of the columns of each table within the database:
This table should not be touched.
id
- The primary key of the table.
description
- The description of the instance type.
The instances
table contains the Germinate and Gatekeeper instances that can be deployed using the web interface.
id
- The primary key of the table.
deploy_name
- The name of the webapp that is deployed to Tomcat. If you want your Germinate/Gatekeeper to appear as
http://domain/this-is-a-test
, then this column should containthis-is-a-test
instance_name
- For Germinate instances, this represents the name of the subfolder within the
instance-stuff
folder in the source code. display_name
- The name that is displayed on the Germinate Builder web interface when selecting the instances to build.
url
- The URL of the deployed product.
url_description
- The name to display to represent this URL.
browser_opt
- Set to
false
for production environments, set to one ofsafari, gecko1_8, ie8, ie9, ie10
for browser-specific optimization. This significantly reduces compile time, but should never be used for production compile_opt
- Set to
0
for production environments, set to1
for faster compile time for testing. google_analytics
- Should Google Analytics be enabled? This is useful to be able to disable Google Analytics on a test build, so that the statistics aren't biased.
tomcat_url
- The deployment URL of Tomcat. This usually ends with
/manager/text
tomcat_username
- The username of a Tomcat user that has at least the `manager-script` role.
tomcat_password
- The password for the Tomcat user.
enabled
- Should this instance be enabled in Germinate Builder. Set to
0
to hide instances from the user interface. type_id
- Foreign key referring to the
instance_types
table. This differentiates between instances of Germinate and Gatekeeper.
Germinate Builder can either be used with or without user authentication. Using it without user authentication means that anyone who is able to see the web interface can initiate a build process. This may be useful if you are running the Germinate Builder on an internal server or behind Apache password protection.
If you want to use the integrated user authentication, you will need a working copy of Germinate Gatekeeper running on your server. You can then grant access permissions to Gatekeeper users and they can log in with their Gatekeeper credentials. This is particularly useful if you are already using Gatekeeper and just want to grand access permissions to existing users.
The user_permissions
table is used to say which user has access to which instance within the Germinate Builder.
id
- The primary key of the table.
user_id
- The id of the user within the Gatekeeper
users
table. id
- Foreign key referring to the item in the
instances
table.
path.germinate=<Path to the Germinate source code>
path.gatekeeper=<Path to the Gatekeeper source code>
path.ant=<Path to the Ant executable>
api.key=<API key of Crowdin, required if you want to download translations>
build.enabled=<Should the option to deploy to Tomcat be enabled?>
s3.upload.enabled=<Should the option to upload to Amazon AWS be enabled?>
email.address=<The email address used to send notification emails>
email.username=<The username for this email address>
email.password=<The password for this email address>
email.server=<The email server for this email address>
email.port=<The port for the email server>
builder.server=<The database server hosting the Germinate Builder database>
builder.database=<The name of the actual database within the server>
builder.username=<The username for the user with access to the database>
builder.password=<The password for the user with access to the database>
gatekeeper.server=<The database server hosting the Germinate Gatekeeper database>
gatekeeper.database=<The name of the actual database within the server>
gatekeeper.username=<The username for the user with access to the database>
gatekeeper.password=<The password for the user with access to the database>
amazon.s3.access.key=<The Amazon AWS access key>
amazon.s3.access.key.secret=<The Amazon AWS access key secret>
amazon.s3.bucket.name=<The name of the Amazon AWS bucket>
amazon.s3.target.folder=<The target folder within the bucket. Use "%s" to make room for a date placeholder>
project.name=<The deployment name of the web application, e.g. "germinate-builder"
tomcat.manager.url=<The deployment URL of Tomcat. This usually ends with "/manager/text">
tomcat.manager.username=The username of a Tomcat user that has at least the `manager-script` role.</dd>
tomcat.manager.password=The password for the Tomcat user.
Once the database and configuration are taken care of, deploying the Germinate Builder is a matter of running ant
in the root directory of the source code. This will then build and deploy the Builder.
Once this finishes, you will be able to use the web interface. Depending on the configuration this will require you to log in using a Gatekeeper user account.