Deployment

Deploying CORE.Drop Backend

Once changes in the backend area are ready to be deployed. Merge your current work into the "Main" branch of the CORE.Drop.Backend Repo. We have AWS CodeDeploy workflow that will automatically build/deploy once new commits are pushed to the "Main" and "Staging" Branch.

To monitor the build process, login to AWS through https://corestudio.awsapps.com/start#/ and log into the "external-sandbox" account. Access "CodeDeploy" from the console. You will find "" in there.

Deploying CORE.Drop Frontend

Similar step to deploying the backend. Once changes in the backend area are ready to be deployed. Merge your current work into the "Main" branch of the CORE.Drop.Frontend Repo. We have AWS CodeDeploy workflow that will automatically build/deploy once new commits are pushed to the "Main" and "Staging" Branch...

Build and release the CORE.Drop Desktop application

Visual Studio and more

  • Check that the DropSettings.json cotnains the right configuration, i.e. it should point to the production server

  • Update the version number of the assemblies included in the release using the VersionBumper, which is found under /Tools. Simply change the UpdateVersions("0.6.0.*") argument, and run the program by Debug > Start New Instance. Note that this will also update the version and product code for the Drop installer (CORE.Drop.Installer msi).

  • Merge your dev / feature branch into main

Build the ZIP (not necessary - build the installer instead!)

  • Build the CORE.Drop.Application using the Release configuration build.

  • Wipe out unnecessary files from the build folder, e.g. .pbd files

  • Test the build on your local machine!

  • If it's working properly, zip it and rename the file to CORE.Drop-0.X.X

  • Upload it to the CORE.Drop web app following the instructions below.

Build the installer for Software Center

  • With the Release configuration, also built CORE.Drop.Installer. This should create a file in CORE.Drop.Installer/Release/CORE.Drop-X.X.X.

  • Create a new folder that matches with the Drop version name (e.g. "0.12.0"). And save the installer in the path: P:\_Corp\CORE\Public\6_Tools\CORE.Drop

  • Notify Vince and ask him to put it on Software Center. You can use the email template located at: CORE.Drop.Desktop\DeployNewDropVersion.oft

Github:

  • Close the milestone related to the release. Move over opened issues to the next sprint.

  • Make sure that all commits in the release are on the main branch.

  • Create a new github release from master

Post-release

  • Write and publish a blog post on spark about the release in the CORE studio Drop spark group. See this example from CDA

  • Update the Changelog in the spark group

  • Announce in the #drop channel on slack.

Deploying CORE.Drop Desktop Client Installer

  • Step 1: get a new built of the desktop client (see instructions above)

  • Step 2: upload this new installer file to AWS S3. Currently I'm using the "core.drop-builds" bucket under the "CORE-External-Sandbox" account to store installer files. Upload the installer file in latest/ folder. Move the older installer file to archive/ folder in the bucket.

  • Step 3: Once install file finishes uploading (Make sure it has public access), you will be able to download the file inside latest/ from the Drop web application.

Local Web.config Setup

There is a Web.config file located at C:\Users\xxxx\Documents\GitHub\CORE.Drop.Desktop\CORE.Packaging\Web.config. In side of this file, you can change which URL your CORE.Drop.Desktop application is sending API request to.

For local testing, use: <add key="ConnectAddress" value="http://localhost:3017"/>

For testing staging backend server, use: { "type": "URL", "url": "https://dev-api-drop.corestudio.io", "name": "Drop Staging Repo", "enabled": true},

For testing production backend server, use: { "type": "URL", "url": "https://api-drop.thorntontomasetti.com", "name": "Drop Production Repo", "enabled": true },

Release checklist

TODO

Versioning

TODO

Last updated