Developing functions for serverless can get pretty tedious. While there are some solutions to developing a function locally, at this time, they are generally limited in scope and capability and all too often you will find yourself needing to iterate in a real stack. This can end up being quite slow, involving a number of steps that each take time, but not enough to be able to switch off onto another task - develop, commit, prepare, deploy, test, repeat. Some of these steps take time that is somewhat unavoidable, but as this is a problem we face internally at Stackery often, we've worked on trying to reduce this with our Stackery CLI tooling.
Stackery enables you to easily design, connect and deploy complicated architectures with an intuitive UI console. However, we recognize that requiring users to switch back and forth from a code editor to a browser to develop, deploy and monitor can be jarring and distracting. That's why users also have the ability to deploy using Stackery CLI.
Many users have probably only ever used the Stackery CLI when first getting started with Stackery (If this is you or if you haven't updated the Stackery CLI in a while, you should first run
stackery update) . However, the Stackery CLI also lets you easily deploy your stack - just provide it the stack name, environment to deploy into, and a branch name, tag, or commit SHA.
stackery deploy flightTracker dev advancedSearch will deploy the head of the advancedSearch branch of your stack called flightTracker into your dev environment. If you use an editor that has an inline terminal, you can edit, commit, push, deploy and monitor the deployment without ever needing to switch apps. The Stackery CLI also provides the status of the deployment so there's no longer any need to keep refreshing the AWS CloudFormation console to monitor the status of the deployment.
We've been using this capability internally for a while and we're hoping that you find it as useful as we have. The Stackery CLI also has a number of flags that enable deploying stacks without user input, so we've integrated it into our internal CI/CD pipeline, but thats a topic for another post.