5 3 2 - Shippable/support GitHub Wiki

5.3.2 Release Notes

Release Date

8:30pm PST, Saturday, March 11, 2017

Features

  • Web App URLs are now friendly: URLs now show source control username, project name, etc. No more ugly GUIDs!
  • New default Docker images launched: From release 5.3.2 onwards, Shippable will introduce new machine images on each release with the latest tooling and official Docker images. Read more here
  • Support for docker 1.13 with ubuntu 14.04/16.04: Examples in our documentation
  • Custom Dashboard: Users can create a personal dashboard to view only projects they're interested in.
  • API documentation updated: We've moved to using Swagger to document the API so it is always up to date.
  • Support for YML dictionary format in CI environment variables: Ability to specify multiple environment variables on separate lines without triggering a matrix build. Examples in our documentation
  • Migrate resources/jobs/triggers from one syncRepo to another: Ability to move your pipelines config to a new repo. Learn more
  • Service deployments and custom namespaces for Kubernetes: Examples in our documentation
  • Support for passthrough dockerOptions for Kubernetes: Examples in our documentation

Fixes

  • Account deletion fails when a user has lost access to an enabled project
  • Few jobs timing out before reaching build_ci: The job trigger has been refactored to fix this issue
  • CI jobs fail when trying to pull Docker images: Jobs failed due to a Docker DNS issue. This fix adds a nameserver to the stable/unstable AMIs and resolves the issue

Upgrading Server to 5.3.2

To upgrade Shippable Server, follow the instructions below. All steps in the upgrade happen on the Swarm Master machine except when noted otherwise.

  • Pre-installation:
    • Backup the usr/state.json file and the Postgres database (on the core machine)

    • Pull the latest code by running the following:

      • git fetch
      • git tag
      • git checkout v5.3.2
    • Run sudo apt-get update on all machines

    • Enable/disable any integrations by adding/removing services in the systemIntegration section of the state.json file

    • Update the state.json with the following values

    Addition to .systemSettings
   - "nodeScriptsLocation": "/home/shippable/scripts/node"
   - "enforcePrivateJobQuota": false,
   - "technicalSupportAvailable": false,
   - "customNodesAdminOnly": false
   - "mktgPort": 50002,
   - "mktgUrl": "http://example.com"
   - "segmentMktgKey":"xyz"
   Removal from .systemSettings
    - nodeScriptsRemoteLocation
   Add a new queue for segment in rootQueueList
   www.signals
   remove the following queues from rootQueueList: micro.ini, barge.triton, barge.gke, barge.ecs, barge.dcl, barge.ddc, barge.acs, core.barge, isync.autod, iscan.esync, iscan.isync, core.iscan
   Add "drydockFamily": "u14" in all the systemMachineImages
- [ ] Add urlSlug to all the providers
- [ ] Run migrations in the folder base/migrations/post_install/master-pre_install.sql
  • Installation:

    • Run ./base.sh upgrade --version v5.3.2
  • Post installation:

    • Stop the genexec container manually before resetting the systemNodes
    • Reset all system nodes
    • Verify genexec are running the latest version
    • Run migrations in the folder base/migrations/post_install/master-post_install.sql
    • Scale ini to 0 and remove the service
    • Remove micro.ini queue