Skip to content

Tradeshift V4 Deployment

Wired Earp edited this page Sep 7, 2017 · 19 revisions

Approximately how to deploy new releases for Tradeshift (internally).

Once Tradeshift UI has been teleported to CloudFront, the Apps-Server must be instructed to load the new version in all V4 apps.

  • In Apps-Server, create the branch myinitials-update-runtime.
  • In the config.json file, bump the script version of Client-Runtime.
  • Run npm start to pull the corresponding LESS files down from the internet.
  • In Apps-Server, make a pull request of myinitials-update-runtime to master

Your Apps-Server must built, have master merged in and be green before you continue. You can see that a build is green at the bottom of the Pull Request or on CircleCI.

After it has been merged to master, go to Apps-Server Commits overview and copy the 40 character SHA from your (merged) PR to the clipboard. It looks something like 8695548a041951b310249caf440f8e532cd812ed.

  • In Apps, create the branch myinitials-update-runtime.
  • In the docker/Dockerfile file, paste the checksum somewhere into the first line.
  • Make a pull request to master

Once that is build and everything turns green, merge it into master.

We can use one click to run the smoketest and merge it to master.Create a one-click task

  • COMPONENT: v4_apps_server
  • COMPONENT_VERSION: NEWCOMMIT
  • SHORTLOG: above

Type retest in the GitHub interface for all eternity until the tests appear to take off. While you wait, have fun with the smoketests by creating a stack on AWS via https://ci-it.ts.sv/job/create-stack/build?delay=0sec.

  • In PULL_REQUEST_ID you paste the Puppet PR ID (see above)
  • In STACKNAME you write something cool.
  • In PURPOSE ... you may have forgotten by now.
  • Increment DECOMISSION_DATE to one day later (or the stack will self destruct too soon)
  • Change COMPONENT_SIZES to large because larger is always better, also for the DATABASE_SIZES.
  • In Components (Required for Smoke Tests) you just check all of them.

Click the Build near the bottom of the page. Assume brace position. If some service failed, go to https://rundeck.eu-west-1.test.ts.sv and locate your stack with the cool name. Run the tests again and again and again until pass.

.. .. ..

Wait for build and tests to turn green, write please merge to merge your PR to testing. The code flows from testing, smoketest, stable and production, If we were lucky. If we break the smoke test we should fix it immediately, All developers are waiting for smoke test. Join the #smoketest to see what happens about your release.

Create a stack on AWS. https://ci-it.ts.sv/job/create-stack/build?delay=0sec Make sure the PULL_REQUEST_ID is what you make on tradeshift_puppet

If we want to test new version of ui component. Just update the config.local.json.erb in tradeshift-pupet and create a PR.

God bless me.

DEPRECATED PROCEDURE

(this used to go after Apps merge to master)

Go to tradeshift-puppet - that's your own personal fork of tradeshift puppet - and go to testing, which works like master here, and git pull upstream testing. Then create a branch called tsui-xxx and move to that. Then open /hiera/versions.yaml. Here you can pause and double-check that the file on your disk is identical to the one found online in the Tradeshift repository testing branch: https://github.com/Tradeshift/tradeshift-puppet/blob/testing/hiera/versions.yaml). Next, we'll need to generate a git log for all the stuff that happened between the old commit and the new commit.

  • OLDCOMMIT: Grab the SHA in found in key ...::tradeshift_v4_apps_server::version:
  • NEWCOMMIT: In Apps, go to Commits and grab the SHA from your (merged) PR.

In the Apps master branch you can now run:

git shortlog --no-merges OLDCOMMIT..NEWCOMMIT`

which will produce something like:

Wolfgang von Strucker (1):
      release 6.1.0

Copy the NEWCOMMIT to the clipboard at paste it into the YAML file at tradeshift::components::tradeshift_v4_apps_server::version:. Then Create a PR where you paste the generated shortlog into the description field.

Let's bump it up! #6645 <<< THIS IS THE PR ID
baron wants to merge 1 commit into Tradeshift:testing from hydra:ts-9.0.3