Use AES with a Git source control repository
Summarize
Summary of Use AES with a Git source control repository
App Engine Studio (AES) enables application developers to integrate their application development with Git source control repositories on non-production ServiceNow instances. This integration allows developers to manage application versions, branches, and collaborate effectively by syncing changes through Git. However, source control management is not supported on production instances, where alternative methods like update sets or application repositories are used.
Show less
Key Features
- Source Control Actions in AES: Developers can import applications from Git, pull remote changes, commit local changes, create tags for specific versions, and manage multiple branches directly within AES.
- Repository Credential Management: AES allows editing repository credentials to maintain secure access to Git repositories.
- Git Repository Modifications: Limited support exists for modifying application files outside AES, including moving files within the repository and editing files externally. A
snsourcecontrol.propertiesfile tracks the application path, and a checksum mechanism ensures file integrity and triggers validation and sanitization processes when discrepancies are detected. - Sanitization Process: Automatically removes unsupported files, creates upgrade logs, and aborts or skips source control operations based on XML schema validation results to maintain repository consistency.
- MID Server Support: Enables secure connection to Git repositories behind firewalls by leveraging existing MID Servers.
- Source Control Operations: Includes importing apps or customizations, pulling and committing changes, creating versions and branches, stashing changes for later use, resolving conflicts by selecting app file versions, viewing commit history, and moving application files within the Git repository.
- Supporting Content Management: Developers can store additional supporting content such as automated tests within the same Git repository as the application files.
Practical Considerations for ServiceNow Customers
- Only checked-in changes in Git are visible to other developers, so frequent commits are essential for effective collaboration.
- Source control management features are available exclusively on non-production instances; production instances require different management approaches.
- Proper configuration of the
snsourcecontrol.propertiesfile is critical when restructuring Git repository directories to ensure AES correctly locates application files. - Using a MID Server allows secure, firewall-protected access to Git repositories, facilitating enterprise security compliance.
- Developers should rely on AES for the majority of source control operations to maintain consistency and leverage built-in validation and sanitization.
App developers working in App Engine Studio (AES) can manage their data repository in numerous ways.
- 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.
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 source control 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. Accessing an application through a MID Server enables access to repositories behind a firewall.