AES integration with a Git source control repository
Summarize
Summary of AES integration with a Git source control repository
ServiceNow enables application developers to integrate App Engine Studio (AES) with Git source control repositories to manage and version applications from non-production instances. This integration supports importing applications, synchronizing changes, and managing multiple versions efficiently using branches and tags.
Show less
Key Features
- Import applications from a Git repository into AES.
- Pull and apply remote changes from Git repositories to the non-production instance.
- Commit all local application changes to the Git repository.
- Create tags to mark specific versions permanently.
- Create and switch branches to maintain multiple simultaneous application versions.
- Manage repository credentials and Git integration settings directly from AES.
- Support for using a MID Server to connect to repositories behind firewalls.
Integration Requirements and Considerations
- The user must have the admin role to link applications to source control.
- The non-production instance must have network access to the Git repository.
- Each application must reside in its own Git repository with read/write credentials shared by all developers on the instance.
- Source control integration is only supported for non-production instances; production instances require other methods such as update sets or application repositories.
Managing Applications and Repositories
From App Engine Studio, developers can edit repository credentials, commit and apply changes, create and switch branches, and import applications. From Git, developers can move application files to different directory structures and edit files outside AES. The system uses a snsourcecontrol.properties file to manage application paths and a checksum.txt file to detect external file changes.
File Validation and Sanitization
- The integration validates and sanitizes application files if external changes are detected.
- Unsupported files and folders are removed during sanitization.
- Operations abort if system application files fail XML schema validation, ensuring integrity.
- Only files in the specified application path are sanitized; other repository content is ignored.
Additional Notes
- MID Server support enables connection to repositories located behind firewalls.
- Role permissions and collaborator management are integral to secure application collaboration.
- Git repository configurations can be updated to modify network protocols, credentials, and other settings within AES.
Enable application developers to integrate App Engine Studio (AES) with a Git source control repository to save and manage multiple versions of an application from a non-production instance.
- Import applications from a Git repository.
- Pull and apply remote changes from a Git repository.
- Commit all local changes on the instance to a Git repository.
- Create tags to permanently link to a given version of an application.
- Create branches to maintain multiple versions of an application simultaneously.
Integration requirements
- The user must have the admin role.
- The non-production instance must have network access to the Git repository.
- Each application must be within its own Git repository.
- The repository user credentials must grant read and write access.
Options available from App Engine Studio
- Edit the application repository credentials.
- Commit all local changes on the instance.
- Apply remote changes from the repository.
- Create a branch.
- Switch branches.
- Import an application from a remote repository.
Source control integration does not support managing applications on a production instance. Instead, you can manage applications on a production instance using the application repository, an update set, or App Engine Studio. For more information about managing applications on a production instance, see Application sharing.
Options available from a Git repository
- Move application files to a different Git directory structure.
- Edit application files outside of App Engine Studio.
The system generates a properties text file called
sn_source_control.properties at the root level of the repository. To move
application files to a different Git directory structure, application developers can set the
path parameter to specify the subfolder path containing their application
files. For example, if you moved your application to the src/app subfolder,
set the path to path=src/app.
- Creates upgrade log entries for each sanitization action taken.
- Removes unsupported folders and files from the repository.
- Aborts all source control operations when a system application file fails XML schema validation. For example, if a database dictionary record fails XML schema validation, the system aborts all operations.
- Skips the current source control operation when a non-system application file fails XML schema validation.
The Git integration sanitizes only content within the application path listed in the sn_source_control.properties file. Repository content outside the application path is ignored.
MID Server support
Use an existing MID Server to connect to a source control repository. Connecting an application through a MID Server enables access to repositories behind a firewall.
Source control role permissions
For more information on roles and collaborators, see Application collaboration.