The ApartCI cloud application represents the brain of the ApartCI system. It implements, for all projects, the system's operation logic, the project management, configuration, monitoring and reporting.
For each project ApartCI relies on an Agent operating inside the customer's
development environment (private or public) to complete the end-to-end system's functionality.
The Agent hides from the ApartCI application the intimate knowledge of the development environment and of
the software project (actual code, diffs, etc)
Even the changeset metadata that ApartCI needs to make its decisions, if considered sensitive, can be translated by the Agent into just identifiers that can only be used to access the real information inside the development environment.
All communications between the Agent and ApartCI are based on HTTPS requests initiated by the Agent, primarily to eliminate all potential security issues associated with accessing a development environment from a remote location.
Periodically the Agent contacts ApartCI in order to:
- request jobs that need to be executed inside the development environment (builds/QA verifications, changeset commits, labels created, etc)
- notify ApartCI of any relevant events from the development environment (new changesets submitted, changes in status of jobs previously received, etc)
The Agent is typically implemented by the customer, primarily for confidentiality reasons and because of the
wide range of particularities the customer's development environment may present.
A client library implementing the communication between the Agent and ApartCI is available for download to help with the implementation. ApartSW is available for advice and also can be contracted for the implementation.
Sample/demo as well as fully functional, ready to use Agent implementations for typical/popular/public development environments are on our todo list.