Set Admin-level Build System Configurations
If you manage development environments and oversee application projects, you can set certain build system configurations in C3 AI Studio. These configurations determine behaviors in the build pipeline regarding executors, storage, timeouts, and more.
The following table provides information and guidance on setting build system configurations:
| Configuration | Information and guidance |
|---|---|
| maxExecutorsPerBuild | Set the maximum number of executors a single build can utilize to ensure fair resource allocation during peak hours, and that a certain number of builds can always run in parallel even if individual builds could use more executors. A too low value can cause builds to take too long. A too high value can cause a small number of builds to take up too many resources. |
| executorIdleTimeout | Set the maximum time an executor lives if not running a task. Set a timeout period before terminating an executor that can no longer communicate with the service and start tasks. |
| defaultStepTimeout | Set a default timeout period for steps in the pipeline. If you create a step without specifying a timeout period, this value is the default setting. Step timeouts prevent a bad step from running indefinitely and wasting resources. |
| defaultExecutorStartEnvSpec | Set the specification for starting environments to the most common profile for convenience. See the Cluster.StartEnvSpec Type and App.NodePool.Config Type documentation to learn more about this configuration. |
| executorMaxAge | Set a maximum age for executors to prevent state accumulation or state corruption over long periods of time. |
| gracefulTerminationTimeout | Set how long builds have to gracefully terminate before forceful termination. Graceful termination allows running steps to handle interruption exceptions. |
| buildTimeout | Set the amount of time a build can run before the system aborts it to prevent builds from remaining in a particular state forever. |
| maxStashSize | Set the amount of disk space for storing shared files and intermediate data. If the total storage for a build exceeds this amount upon finishing a write, the system deletes the entire build stash and returns an error. This setting applies to entries created with the Jarvis.Build.stashFor method. |
| studioAppEndpoint | Set the base URL for commit status updates in the source control provider. |
| maxNumberOfExecutors | Set the maximum number of executors that can consume compute resources to run builds at any given time. If you have many builds pending in the queue, consider increasing this number. For standard deployments, this value should not exceed 200. |
| executorInitializationTimeout | Set the maximum amount of time an executor can be in an initializing state before forceful termination. |
| maxStashEntries | Set the maximum number of stash files that an individual build can store at any given time. If the total stash entries for a build exceeds this amount upon finishing a write, the system deletes all stash entries for the build and returns an error. |
| allowBuildWithUnsafeServerVersion | Determine if a build can run with executors on a server version higher than the service server version. The system does not support forward compatibility, so version incompatibility between build executors and the service can cause builds to fail. If you enable this setting, expect builds to fail. Consider enabling this setting if you want to preview a new server version. |
Requirements
Have the JarvisAdmin or StudioAdmin role.
Set admin-level build system configurations
Here is how to adjust the values for these configurations:
- In C3 AI Studio, navigate to the Releases page.
- Select Admin Configurations. This page displays admin-level configurations and their current values.
- Scroll over a configuration you want to set and select the edit icon. A modal provides a description and a value field.
- Enter a configuration value.
- Select Save.