Automatic Deployment

Stable Version 1.1.1 (O11)
Also available for 10
Published on 24 Apr by 
Created on 14 March 2017
Details
This plugin adds the functionality to deploy from third-party tools like Jenkins. The plugin has two parts, a configuration screen where you can create multiple configurations to select which apps you want to deploy automatically and a webservice that can be called from third party tools to deploy the selected applications from and to the selected environments. This webservice checks if your applications changed and creates new versions of those applications, creates a deployment packages of all applications that have differences between the source and destination environments and returns the status after deployment and the deployment log in JSON format. When you have extra requests for this plugin, don't hesitate to contact me.
Read More

Automatic Deployment Plugin

Download and install the Automatic Deployment plugin from the Forge

Part 0: Change the endpoint in ServiceCenter.

  • The webservice in ServiceCenter is pointing to one of my personal servers and should point to the server in your environment where LifeTime is installed.
  • Go to ServiceCenter > Factory > eSpaces > AutomaticDeployment > tab Integrations.
    Here you can change the consumed Webservice URL to the LifeTime API of your own LifeTime: https://<your server>/lifetimeapi/rest/v1

Part 1: Create a Service Account

  • Go to the User Management > Service Accounts
  • Create a new Service Account
  • Give a descriptive Username
  • Give a role that is allowed to publish from your selected source to your selected destination
  • Is Active should be switched on
  • Add a description where you use this account
  • Save the Service Account
  • Store the private key from the Authentication Parameter popup in a separate file
  • Update the “Token” Site Propery of the Automatic Deployment eSpace with the private key

Part 2: Create an Automatic Deployment Configuration

  • Go to LifeTime and click on More > Automatic Deployment
  • When an error is shown, then the private key is not correct or the Service Account doesn’t have enough rights.
  • Create a new Automatic Deployment
  • Give a descriptive name
  • Select a source and destination  server
  • Select the applications you want to schedule for automatic deployment
  • Save the configuration
  • Store the Guid from the overview

Part 3: Create the url for the deployment webservice

  • URL: https://{lifetime-server}/AutomaticDeployment/rest/AutomaticDeployment/Deploy
  • HTTP Method: GET
  • ContentType: Application/JSON
  • Header: AuthenticationToken
  • Value: {private key from the Service Account}
  • Header: ConfigurationGuid
  • Value: {Guid from the Automatic Deployment Configuration}

Part 4: Configure your automation tool that is able to call webservices and reads the response.

  • Implement a deployment step where the webservice is called and the response is validated before continuing to the next step in your automated deployment plan.

Possible Outputs

  • 200: Deployed successfully
  • 201: Nothing to deploy
  • 202: Deployed with warnings
  • 301: Deployed with errors
  • 302: User intervention needed
  • 401: Error occurred before deployment started
  • 402: Manually aborted the deployment
  • 403: Unknown deployment status returned: {statuscode}

Site Properties

  • RequestTimeout: Default 1 hour (make sure your deployment finishes within this timeframe)
  • CheckStatusInterval: Default 1 minute (when 0, the interval will be 30 seconds)
  • Token: Default empty, should be filled with a token from a Service Account
What’s new (1.1.1)

All changes in this version are made to improve the user experience in compiling a list of applications that you want to include in your deployment configuration.

New features:

  • The list of applications is replaced by a grid of three columns with applications, for a more compact overview of all applications from which one can choose.
  • The 'Select All' checkbox is replaced by two buttons "Select All" and "De-select All".
  • A new checkbox "Only selected" is  added, which when checked limits the list to only those applications previously selected.
  • A new input is added to allow for filtering on (partial) Application name.
  • Validation added that selected Destination environment needs to be different than the selected Source environment.
  • Feedback info added on total number of applications that are available to choose from.
  • Feedback info added on total number of applications displayed based on filter options.
  • When the 'Save configuration' button is pressed control returns to the overview screen.
  • When editing an existing deployment configuration the 'Only selected' checkbox is check, so that only all applications for the deployment configuration you edit are displayed initially.

Bugs fixed:

  • The list of applications was limited to the first 50 of all your applications. This limitation is removed.
  • When input validation showed an error the application selection was unintentionally undone.
  • Clicking on input labels will now put focus on the input widget.
Reviews (1)
2018-12-10
in version 1.0.0
Up and running an automatic deployment in minutes.
Great job!
Category
Developer Tools
Support Options
This component is not supported by OutSystems. You may use the discussion forums to leave suggestions or obtain best-effort support from the community, including from Remco Dekkinga who created this component.
Dependencies
See all 1 dependencies
Requirements
Platform:
11.0.0.200
Database:
All
Stack:
.NET
Component Consumers
No consumers yet.
Weekly Downloads