5 1 4 - Shippable/support GitHub Wiki
11:45pm PST, Thursday, Jan 19, 2017
-
- Added standard ENVs to runSH job environments
- Kubernetes Integration support
- Added Time resource type
- Added Provision job type
- Added Jenkins job type
- Added service deployment for GKE
- Create a subscription integration from account integration flow
- SPOG visualization updates
- Node stats for custom nodes
- Added a section in TASK that runs irrespective of the job result in Pipelines
- CI timeouts configurable up to 24 hours for BYON
-
- Additions to the installer
- New swarm nodes can be added without resetting existing install
-
- Builds fail when a dynamic node fails to provision in time
- Unable to delete custom nodes in processing state with no jobs
- When no
replica
resource is specified, Shippable uses the default value - Duplicate entries in the CI processing screen
- Free user token experience
- Default foreground/background ANSI escape codes ignored
- No documentation on enabling/disabling webhooks for a gitRepo resource
- Logged in Bitbucket Server user runs into infinite login redirection loop
-
- Error running some runSH jobs with gitRepo inputs
-
Added standard ENVs to runSH job environments:
- Environment Variables for use in the TASK section of every runSH job
- Resource Variables: These variables are added to the environment for all
IN
andOUT
resources defined for the runSh job - Resource Integration Variables: When an
IN
resource uses a subscription integration, the fields associated with that integration are added as environment variables - Read more in our documentation
- Tutorial
-
Kubernetes Integration support: you can now deploy your Dockerized applications to Kubernetes Container Service. Details in our documentation. We also have a tutorial on deploying to Kubernetes
-
Added Time resource type: A
time
resource type is used to trigger a job based on a specific day and time. This resource can be used used as an IN input for any job. Read more in our documentation -
Added Provision job type: Provision jobs are used to create objects on a supported Container service. Read more in our documentation
-
Added Jenkins job type: Shippable has a special job type available that will allow you to connect your existing Jenkins job to your Shippable pipeline. Read more in our documentation
-
Added service deployment for GKE: Added a second way that a loadBalancer resource can be used. It can be used as an input to a provision job to create a new load balancer in a Google Container Engine (GKE) cluster. Read more in our documentation
-
Create a subscription integration from account integration flow: it now shows how to create the subscription integration when creating the account integration
-
SPOG visualization updates: The UI has been simplified with the following changes:
-
Resources
&Jobs
tabs removed fromPipelines
- Right click on a job to run or pause the job
- Left click on a job to view console output for each version of the job. You can also use the
trace
feature to see the job's inputs, orproperties
to see additional information about the job - Right click on a resource to view latest version number
- To see "orphaned" resources, use the arrow dropdown in the upper right to add them to the view
- More details about jobs & resources in our documentation
- Right clicking on a
job
shows actions only - Unused resources stack horizontally at the bottom of the SPOG
-
-
Node stats for custom nodes: Subscriptions with custom nodes can view the CPU, Disk usage and Memory as graphs. You can access these graphs through Subscriptions Settings>Nodes section>Click on the node>Stats section
-
Added a section in TASK that runs irrespective of the job result in Pipelines: In pipelines, a section called
Always
is added to TASK that can be used to run irrespective of the job result. See an example of using this section for job notifications - CI timeouts configurable up to 24 hours for BYON: Subscriptions with custom nodes (BYON) can set the CI timeout for projects up to 24 hours
-
Additions to the installer: The following features have been added to the installer:
- New core service called
logup
: This new service will upload logs of completed jobs to S3. NOTE: This service is disabled by default. This includes the following changes inusr/state.json
:-
steps.provision
added to.systemSettings.rootQueueList
. This creates a queue for the newly addedProvision
job type -
core.logup
added to.systemSettings.rootQueueList
- A
systemIntegration
ofmasterType
cloudproviders
andmasterName
AWS
added - A new field called
rootS3Bucket
in.systemSettings
is added. The value is the name of the bucket where logs will be stored. If the bucket isn't already created, it will be created.
-
- New fields added to
systemConfig
objects: in thestate.json
file, insystemSettings
section:-
wwwPort
,redisUrl
,awsAccountId
,jobConsoleBatchSize
,jobConsoleBufferTimeInterval
,defaultCronLoopHours
,apiRetryInterval
,vortexUrl
,truck
,hubspotTimeLimit
,hubspotListId
andhubspotShouldSimulate
. - In which,
"jobConsoleBatchSize": 10, "jobConsoleBufferTimeInterval": 3000,
. -
wwwPort
,redisUrl
,jobConsoleBatchSize
,jobConsoleBufferTimeInterval
,defaultCronLoopHours
,apiRetryInterval
,vortexUrl
,truck
are not null fields. Where asawsAccountId
,hubspotTimeLimit
,hubspotListId
andhubspotShouldSimulate
are nullable fields. - Value of
awsAccountId
should be taken from existing envs of www:AWS_ACCOUNT_ID
. - Value of
defaultCronLoopHours
should be taken from existing envs of cron:DEFAULT_CRON_LOOP_HOURS
.
-
- New core service called
-
New swarm nodes can be added without resetting existing install: Steps to add a new swarm node:
-
Update
usr/machines.json
file to add a new entry in the array.{ "group": "services", "ip" : "<ip of machine>", "name": "<name of machine>", //should not be the same as any existing machine "login": "root", "dataMount": "/usr", "cores": 2, "memory": 4096, "arch": "x86" }
-
Run installer
./base.sh --release <version>
-
Installer will ask user to run a command on the new machine
-
Run that command and type
Y
in the installer prompt -
Installer will add the new machine as a
ms
(MicroService) host and install Docker on it without re-initializing the existing cluster
-
- Builds fail when a dynamic node fails to provision in time: If for some reason the job gets stuck due to a dynamic node that failed to provision, we re-provision the dynamic nodes. Ideally a node should come up in about 3 minutes and should start processing your jobs. In case the node doesn't come up even after 10 minutes, we delete that node and re-provision another one
-
Unable to delete custom nodes in processing state with no jobs: The
Delete
button is enabled for custom nodes that get stuck in a 'Processing' state when no jobs are processing. User will not be able to delete a custom node when it is processing a CI or a Pipeline job -
When no
replica
resource is specified, Shippable uses the default value: When noreplica
resource is specified, the replica count is no longer set to 1 when updating a service with a new task definition - Duplicate entries in the CI processing screen: The fix resolves the issue and duplicate entries are no longer seen
- Free user token experience: UI shows if an API Token is a free token and provides link to documentation with more details
-
Error running some runSH jobs with gitRepo inputs: A manually triggered runSH job fails at the 'TASK' step. There's no warning in the logs. rSync job also shows a similar failure with no warning in the log.
- Workaround: The job runs successfully by making a dummy commit to the gitRepo listed as an IN