Endpoints are the FlexDeploy representation of a device or virtual machine where plugins can be run. They hold connection and host details that allow FlexDeploy to connect to and perform commands on the server.
FlexDeploy utilizes an agent-less architecture to connect to computers across private or public networks/clouds to execute build and deploy operations. This architecture uses a secured communication protocol (SSH) and eliminates the need for installing and managing software on every build and deployment target. In many cases no setup is required on an Endpoint prior to configuring it within FlexDeploy.
Endpoint Requirements
See System Requirements for information about Endpoint Requirements.
Viewing Endpoints
To view the configured Endpoints, select Topology from the menu, and then choose the Endpoints tab. Enter any optional search criteria and click the Search button.
Creating/Editing Endpoints
See the following links for information on creating Endpoints.
See Endpoint Defaults to setup default values for new Endpoints to save time.
Activating and Inactivating Endpoints
To inactivate an Endpoint click the Active link on the desired endpoint, and it will toggle to Inactive. This will hide that Endpoint after leaving the screen, until the Active checkbox is unchecked. To reactivate an Endpoint, click the Inactive link and it will toggle back to Active
Endpoint Directory Structure
FlexDeploy creates and manages the following directory structure on the endpoints.
Note that the permissions on this folder structure is 755 and must not be made less restrictive. Also, this folder structure is mostly owned by Endpoint User or Run As User.
plugins
The plugins directory holds each version of a plugin that has been executed on the Endpoint. There can be several different plugins loaded and several versions of a given plugin. FlexDeploy will automatically purge older plugin versions, and redistribute them if an older version is later activated.
scratch
Internal directory which is used for file transfer and managing permissions. Applicable only when using "Run As User" on the endpoint to execute commands as another privileged user.
The scratch folder is only created when using "Run as User" for the endpoint. This folder is created and owned Endpoint user, whereby all other directories are owned by the Run As User. This is required to facilitate the upload/download of files which are performed using the endpoint user.
security
The security directory holds information related to the SSH connection between the FlexDeploy server and the Endpoint server and is used for secure communications.
work
The work directory contains every invocation of a plugin operation that has occurred on the Endpoint. There is additional file structure under the work directory based on the execution project id and the current execution id of the given project.
work/<projectId>/<executionId>/artifacts
Directory where artifacts are stored so they can be transferred back to the FlexDeploy server and stored permanently in the artifact repository.
work/<projectId>/<executionId>/internal
Directory where all internal FlexDeploy scripts are stored to execute the plugin step.
work/<projectId>/<executionId>/object-results
Directory utilized by partial deployment plugins to transfer the deployment status of each file back to the FlexDeploy server.
work/<projectId>/<executionId>/reports
Directory to write any report files during Build, Pre-deploy, Test or Deploy operations. The Report file size can be controlled from the Administration → System Settings page. Files are returned to the FlexDeploy server and processed.
work/<projectId>/<executionId>/temp
Directory for plugin execution to checkout and manipulate data or files until moved to the artifacts directory for storage.
work/<projectId>/<executionId>/test-results
Directory for test plugins like Junit to place the test results to be returned to the FlexDeploy server and processed.
work/<projectId>/<executionId>/transfer
Directory used to return file from a plugin execution and feed as input into another plugin operation. This directory is only used in very specific use cases.