2013-11-22
1
Paulo Ramos
8.0+
All
All
Components
[Overview]
[WARNING] This component uses internal unsupported APIs that may change at any moment (and may no longer be available in recent versions of the platform). This component is a proof-of-concept on how you can synchronize an application / solution code between two environments. Configure it to: Download a solution or application from a remote OutSystems environment; Publish it in your local server.
[Detail]
[WARNING]
This component uses internal unsupported APIs that may change at any moment (and may no longer be available in recent versions of the platform).
Features: Download a solution or application from a remote OutSystems environment.
Publish it in the local server.
Main Benefits: Automatic download & deployment of a solution / application between two environments, keeping the code synchronized.
Q&A
[Q] I'm using LifeTime, do I need this?
[A] This is not meant to be used with LT, and may help on very specific scenarios only.
Consider this example: you have 3 environments configured in LT: DEV, TST, PRD. Now, you add another environment (REG) for executing regression tests during the night (for example with Test Automator).
REG (automatic tests) should have the same code as TST (manual tests). You don't want to register REG in LT's pipeline, because you don't want to force the team to make two deployments from DEV (to TST and REG) whenever they release a new version. You just need to copy your solution/app from TST to REG, automatically during the night (before regression tests are executed).
On this scenario, this component could be configured in REG, so that it synchronizes the code from TST periodically, keeping REG not registered in LT.
Configuration
Publish the eSpace in both the source server (from which the solution/app is downloaded, e.g. TST) and the target server (on which the solution/app is published, e.g. REG).
Access <target server>/DownloadAndDeploy/ and follow instructions. You'll be asked to configure some web references (so that the component can access the source server), as well as some other configurations (logins, solution / application name...).
For automating the download & deployment process, configure timer SynchronizeSolution's schedule in Service Center.
Limitations
Just a small proof-of-concept, this can be expanded in several ways.
Lack of monitoring: when deploying a solution, you can see its status in Service Center (in Factory > Solutions). However, when publishing an application, you'll see no status in SC.
Notice: This component takes advantage of private and undocumented Platform APIs, which can change without notice. As a result, this component may unexpectedly break as the Platform is upgraded. We advise proper testing to ensure that your applications continue to work as expected when upgrading/patching the Platform.