HowTo: Update an application using another KB with GXcloud Deployment Services

Unofficial Content

You may have deployed your application from a KB/Version/Environment and want now to deploy from another KB/Version/Environment. This article covers this case.

Scenarios in which you may want this

  • The original KB got lost (Never happened to you? Congrats! :-) )
  • You converted from GeneXus X Evolution 3 to GeneXus 15 and in the migration process you changed KB
  • You decided to use another KB to deploy for some other reason

Note: You need GeneXus Cloud Tools build 1.4.0.189 or higher

Steps to follow

In the following explanation, KB0 is the KB/Version/Environment from which originally the Application was deployed. It is the one you don't want to use anymore to deploy it.
KB1 is the new one, from which you want to update the Application.

  1. Open KB1 and make sure the following
    1. That the database schema is the same as the one of the active version of the Application (KB0)
    2. That the properties are set with the exact same values as KB0. Take special attention when using GAM
  2. Build All in KB1, Test it.
  3. On KB1, Connect with existing application
    i2017_01_04_13_49_315_png
    You will be prompted for your credentials; after that, you must select the Cloud / Target and Application you want to connect to.
    i2017_01_04_13_51_086_png
    Select it and Connect. You will be prompted if you are sure, click YES and watch the output. If all works ok, you will get this:
    ========== Connect with existing Application started ==========
    Connect with existing Application Success
  4. Now you are ready to Deploy on KB1! Follow the usual steps to update your Application.
    Implementation details: The first time you deploy after connecting, a complete binaries and resources deployment is done (it's not incremental).
  5. If you get access to KB0, open it, go to the Preferences tab, and select the GeneXus Cloud Application you don't want anymore to deploy to from this KB and Disconnect
    i2017_01_04_13_32_384_png
    Do this to avoid unwanted deployments from KB0.
    Important:
    1) If you don't disconnect and deploy from KB0 once you deployed from KB1, you can get unexpected results and even worse: get changes to the application that are very difficult to roll back.
    2) Disconnecting deletes all internal KB Versions with their links to the different Application versions. It is an action that cannot be rolled back.