Use AES with a Git source control repository
Summarize
Summary of Use AES with a Git source control repository
App developers using App Engine Studio (AES) can manage application development by linking their applications to a Git source control repository on non-production instances. This integration enables developers to import applications, pull and apply remote changes, commit local changes, create tags and branches, and collaborate effectively with version control.
Show less
Note that source control integration is not supported on production instances, where application management is done through other means such as update sets or the application repository.
Key Features
- Source Control Operations in AES: Developers can commit local changes, pull remote updates, create and switch branches, import applications, and manage credentials directly within AES.
- Git Repository Management: Limited modifications can be done outside AES, such as moving application files to different directories within the repository. The system uses a
snsourcecontrol.propertiesfile to specify application paths and achecksum.txtto detect external changes. - Sanitization and Validation: When external changes are detected, the integration validates and sanitizes application files, removing unsupported files and aborting operations if critical validation fails, ensuring repository integrity.
- MID Server Support: Existing MID Servers can be used to connect AES to source control repositories located behind firewalls, enabling secure access.
- Advanced Git Features: Developers can stash changes locally, resolve conflicts by selecting preferred versions, view commit history, and maintain multiple application versions via branches and tags.
- File Organization: Developers can organize application files and related supporting content like automated tests within the same Git repository, improving project structure and manageability.
Practical Benefits for ServiceNow Customers
- Streamlined Collaboration: By using Git source control integration in AES, teams can efficiently collaborate on applications, ensuring only checked-in changes are shared.
- Version Control and Branch Management: Enables managing multiple development streams simultaneously and creating permanent references to application versions.
- Improved Development Workflow: Developers can work seamlessly between AES and Git, including outside edits, with automatic validation and sanitization to maintain application quality.
- Secure Repository Access: MID Server support allows connections to repositories behind firewalls without compromising security.
- Non-Production Focus: Ensures that source control practices are safely applied in development and testing environments, while production environments use appropriate application sharing methods.
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.