GCP Integration
Situation
Set up QuickBuild the same as tutorial One Build For One Agent, except that build agents should be started in GCP as necessary. Launched build agents should be able to be closed if they are idle for specified amount of time to save cost.
Resolution
- Set up QuickBuild according to resolution section of tutorial One Build For One Agent.
- Login to QuickBuild as administrator and switch to administration menu, then follow the plugin management link, and edit plugin setting of GCP Plugin to provide a json file containing private key of a GCP service account. 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
- Make sure to enable GCP compute engine API
- Create appropriate build agent instance template following [this guide](Launch Node in GCP.html#LaunchNodeinGCP-createbuildagentinstancetemplate) if necessary.
- Switch to grid page and follow the Cloud Profiles link to bring out the cloud profiles page. Add a cloud profile with node launch setting specified as Launch Node into GCP and fill relevant GCP node launch options. Specifically the GCP instance template should be filled with full name of the build agent instance template you created previously.
- QuickBuild will proceed to do a test launch of your defined cloud profile to grab system/user attribute of node launched by your profile. Grabbed system/user attributes will be used afterwards to match against node matcher setting of build steps to determine which profile has to be used to launch node if no active agents satisfy the criteria. Only after test launch the profile can be used by builds to launch node on demand. Normally the test launch should be done in two or three minutes, if it takes too long, please check instance status as well as agent log at EC2 side.
- Now run the build. If configured correctly, QuickBuild will launch build agent using your defined cloud profile to run the build. By default the launched build agent will stay active for 30 minutes before terminating. If more builds are set to run in the same time, more agents will be launched to accommodate the concurrency. You may check all launched instances by examining the active launched nodes tab of certain cloud profile, and may manually terminate them there.