Cloud profiles rely on cloud providers to do its job. QuickBuild 12.0 ships with the GCP cloud provider. To use it, one has to enable the GCP plugin by providing a json file containing private key of a GCP service account in Administration/Plugin Management page as demonstrated below:
The GCP service account should have permission to launch/access/delete compute instances in particular GCP projects. Check here on how to create service account and here on how to obtain json file containing private key of the service account
Also make sure to enable GCP compute engine API
Then one can follow the cloud profiles guide to create cloud profiles using GCP launchers like below:
An instance template is required to set up GCP cloud profile. This instance template should be pre-configured with your build environment as well as QuickBuild build agent. To create an instance template able to be used by GCP cloud profile, please do the following:
- Manually launch a compute instance of desired platform using your GCP account, and install Java Runtime Environment version 8 or higher on the launched instance. You may also want to install other software required by your build to this instance.
- Download QuickBuild build agent package from Grid page, and upload it to launched instance above.
- Login to the compute instance and extract build agent package to your chosen agent installation directory.
- Edit file <agent install dir>/conf/wrapper.conf to define property wrapper.java.command to point to java binary if it is not in system path.
- Edit file <agent install dir>/conf/node.properties to configure QuickBuild server URL. You may also run <agent install dir>/bin/config.(bat|sh) to config node properties such as SSL setting. However this program requires GUI terminal, and if your console does not have that facility, you may run this program at your desktop to populate the node.properties, then transfer this file to launched instance.
- Edit file <agent install dir>/conf/attributes.properties to define necessary user attributes for the build agent.
- For Unix instances, edit file <agent install dir>/bin/agent.sh to uncomment below line and assign an OS user to run the agent in service mode.
The service user should own the agent installation directory.
- Run <agent install dir>/bin/agent.(sh|bat) install to install agent as system service.
- Configure GCP firewall of the network associated with the launched instance to allow incoming connections to agent port.
- Restart launched node. After the system comes up, the build agent should be started automatically and will contact QuickBuild server to download necessary plugins. You may check file <agent install dir>/logs/console.log for the progress and possible errors.
- If agent starts up normally, you should be able to see this agent appears at unauthorized nodes list at grid page. Authorize the node and wait for a while to see if it can come active.
- If the agent comes active, stop the compute instance, and create a storage image from the instance disk.
- Create an instance template using the storage image, and specify desired machine type and disk type.
- You can define multiple instance templates for multiple cloud profiles to satisfy different build requirements.