Pipelines in Buddy are flexible enough to reproduce almost every type of workflow. Here are the three most popular use cases:
- Delivery – used to upload repository files or compiled app to the server on every push to branch, recurrently at a given time, or manually on click.
- Continuous Integration Server – used to run unit and integration tests on every push to repository and send notifications if the tests have failed
- Monitoring – used to check the status of website or server on given intervals and send a message in case it goes down.
In this article we'll cover practical use of the new EB monitoring action in the context of existing delivery pipelines.
Elastic Beanstalk in Pipelines
Delivery and CI Server
Delivery to Elastic Beanstalk has been available in BuddyWorks since the very beginning, a popular action used on daily basis by many users. All you need to do is select which application you want to upgrade:
If you covered your application with tests, you'll need a CI server to run them. Testing is hardly an issue directly connected with Elastic Beanstalk: it's more about the application type, its specification, and the person behind development. However, testing is crucial if you want to make sure the application deployed to your EB instance is working properly and free of errors.
Elastic Beanstalk Monitoring
This week we've released a new action allowing you to monitor the health of your EB application. Just choose the region, application and environment to check:
How EB Monitoring Works
When checking the status of your application, Buddy asks AWS for the color of your application:
|GREY||Your environment is being updated.|
|GREEN||Your environment has passed the most recent health check. At least one instance in your environment is available and taking requests.|
|YELLOW||Your environment has failed one or more health checks. Some requests to your environment are failing.|
|RED||Your environment has failed three or more health checks, or an environment resource has become unavailable. Requests are consistently failing.|
If the color is different than GREEN, the execution will be marked as failed. Theoretically, the YELLOW color is acceptable as well, since it indicates the application is up and running. However, it means it requires attention (eg. scaling).
Use Case #1 – Monitoring pipeline
You can add a pipeline that will check the status of your application every 5 minutes. If something's wrong, you'll receive a notification to your inbox, Slack channel, or mobile:
Use Case #2 – Delivery pipeline
A delivery pipeline will consist of a delivery action and a subsequent monitoring action. In this case you'll have to wait until the application has finished updating, or the monitoring output will be unreliable. You can do that by setting Wait for ready in More options, so that Buddy will check the environment status first.