diff --git a/lib/createChangeSet.js b/lib/createChangeSet.js index 7255703..d128cd6 100644 --- a/lib/createChangeSet.js +++ b/lib/createChangeSet.js @@ -49,6 +49,11 @@ module.exports = { const stackName = this.provider.naming.getStackName() const changeSetName = this.options.changeSetName ? this.options.changeSetName : `${stackName}-${Date.now()}` + if (this.shouldNotDeploy) { + this.serverless.cli.log('Skipping create ChangeSet...', 'Serverless', { color: 'orange' }); + return Promise.resolve(); + } + this.serverless.cli.log(`Creating CloudFormation ChangeSet [${changeSetName}]...`) return createChangeSet(this, stackName, changeSetName, 'UPDATE') .catch(e => { diff --git a/lib/createChangeSet.test.js b/lib/createChangeSet.test.js index 8e458f5..0a757c5 100644 --- a/lib/createChangeSet.test.js +++ b/lib/createChangeSet.test.js @@ -133,5 +133,14 @@ describe('updateStack', () => { ) }) }) + + it('should skip create ChangeSet if should not deploy', () => { + serverlessChangeSets.shouldNotDeploy = true + + return createChangeSet.bind(serverlessChangeSets)() + .then(() => { + sinon.assert.notCalled(createChangeSetStub) + }) + }) }) })