You've spoken and we've listened! Our Create App flow has received a makeover, giving you more insight (and control) on how Release initially creates your App.
The first steps may be familiar to you if you've used Release recently. With your permission, Release will look at the
docker-compose.yml in your repo (or your .release.yaml or, if you have static services, your package.json) and make some determinations about your application. This is your opportunity to review the services that Release found in your project and to generate your Application Template.
With your Application Template created, you can now view it live during the App Create process, and you're even given the ability to review and edit the template here. We have error handling and syntax checking to prevent you from making any mistakes that would make your application unable to run, allowing you tinker with this template risk-free. And if you don't wish to modify the template, you can breeze right past this step!
After you're satisfied with your template, the last step is to add any build and runtime configurations, such as Environmental Variables, that your application needs for liftoff. If none are required, you can just start Build & Deploy which will kick off the build of your application, and the deploy step will create your App's very first Environment. From here, you're done. Now create as many Environments as your heart desires!
We recently rolled out changes to our deploys screens and improved the deploy functionality with a Diagnostics check. We've implemented a stage feature, where each deploy can have many stages to it. In this example we'll look at
Deploy 4061 and what each stage represents.
When we view the info for the deploy, the top section shows which environment the deploy was for, the status of each of its stages, how long the entire deploy took to run, and how long ago it ran. The first stage is a Patch stage, which shows that Build 58610 was deployed with Commit SHA 243f33e8 and that it took six minutes and twenty seconds. The sections inside of the Patch stage should look familiar as they were present on the previous Deploy Info screen.
The second stage of the deploy is our new Diagnostics check. This is the first step towards Release helping you understand if your environment is ready to respond to different types of requests. In this example, you can see that Release has checked the
http status for the
backend container. All three responded, with the http request indicating that it needs to be authenticated and the other two verifying that they are working. Release then checked the status of the
redis , which only did
tcp checks because
redis doesn't talk over
As mentioned, this is just the first step for the Diagnostics feature so be on the lookout for future product updates of this feature.
Release is excited to announce our solution for microservices architecture called App Imports. In Release, each repository is represented by an application. We know that some of our users may have as small as two repositories which work in tandem, think a frontend and a backend, while others may have fully embraced microservices and have tens, dare I say hundreds, of repositories that encompass their company. We are striving to support any use case to see what people are going to build!
The short and sweet version of how App Imports works is that you need to add a few lines of code to your Application Template.
app_imports:- name: other-app-name
With that in stanza in place, when you create an environment for your first application, Release will also create an environment for the imported application in the same namespace. Since the environments are in the same namespace, they can talk to each other without going out to the internet if need be. When you're done, deleting the first environment will delete all the imported environments too! Release will make sure you aren't leaving any environments lying around.
If you're interested in learning more about App Imports, below are two links in our documentation that go into further detail about how everything works. The first, Microservices Architecture, explains the details you need to know about setting up your Application Template, how Environment Variables are shared, how to map those shared Environment Variables, and more. The second, App Imports - Connecting Two Apps Together, is a step by step example using two of our awesome-release repositories to set up the App Imports feature.