This cheat sheet provides a detailed overview of the exposed lifecycle events and available commands (and entrypoints) of the Serverless framework, that can be hooked by plugins (internal and external ones). The document is structured by the commands invoked by the user.
Lifecycle events are shown as the globally available outer events (all providers) and sub lifecycle events that are provider specific in the called order. Currently only the AWS provider is shown. If you have information about the other provider, please let me know and I will add the sub lifecycles accordingly.
The current event system can be improved in the future. Only package, deploy and info provide detailed event lifecycles for now, that make the plugin integration much more fine-grained.
Plugins can spawn any command or entrypoint with this.serverless.pluginManager.spawn()
and invoke a sub lifecycle.
-> aws:common:validate:validate
-> aws:common:cleanupTempDir:cleanup
-> aws:package:finalize:mergeCustomProviderResources
-> aws:package:finalize:saveServiceState
-> aws:common:moveArtifactsToPackage:move
-> aws:common:validate:validate
-> aws:common:moveArtifactsToTemp:move
-> aws:deploy:deploy:createStack
-> aws:deploy:deploy:checkForChanges (1.17->)
-> aws:deploy:deploy:uploadArtifacts
-> aws:deploy:deploy:validateTemplate
-> aws:deploy:deploy:updateStack
-> aws:deploy:finalize:cleanup
-> package:function:package
-> aws:common:cleanupTempDir:cleanup
-> aws:info:validate
-> aws:info:gatherData
-> aws:info:displayServiceInfo
-> aws:info:displayApiKeys
-> aws:info:displayEndpoints
-> aws:info:displayFunctions
-> aws:info:displayStackOutputs
This looks great! I have a quick question.
I am trying to use https://www.serverless.com/framework/docs/guides/output-variables . I have it configured like the
in my serverless.yml file. I update the mentioned SSM parameter using
after:aws:deploy:deploy:updateStack
hook .However, the value of the outputs variable that I see on the dashboard is always the last value and not the one that was updated after the deployment. Is there a way to resolve this?
I need to update the SSM value after deployment as the value is the version number that should be updated only after a deployment has gone through.
I thought the serverless dashboard outputs variables could be a good way to keep track of that. Open to suggestions/modifications to make it work.