CodeStar designed to simplify your AWS development workflow and help you easily create, test, and deploy your applications on AWS, and it’s completely free!
Introduction
CodeStar supports five popular programming languages: Java, JavaScript, PHP, Ruby, and Python. It provides a wide variety of templates for these languages when launching applications on EC2, AWS Lambda, and AWS Elastic Beanstalk. These templates are used to provision your entire underlying AWS infrastructure in minutes, so you can get right to work.
CodeStar provides a unified project dashboard which allows you to monitor application activity by tracking commits, builds, tests, and deploys across all stages of development, and view your application’s performance statistics.
CodeStar also integrates with Atlassian’s JIRA for easy issue tracking and project management, all from the same dashboard, and comes with built-in role-based access policies, making it easy to manage access for project owners, contributors, and viewers, across all services simultaneously.
Getting Started
Amazon has a pretty good tutorial for getting started with CodeStar, but I wanted to go through the process first hand and share my experience.
In this tutorial, I’ll go through how to create and deploy an application using CodeStar and then I’ll talk about some of the pros and cons of using CodeStar, some of CodeStar’s limitations, and what else is out there.
Let’s discuss details necessary steps to get a serverless web services project running with AWS CodeStar.
Once you click, it will pop to create a IAM service role (for first time). Just click create role to create a IAM role with necessary permissions. How its matter? “AWS CodeStar would like permissions to administer AWS resources and IAM permissions on your behalf. IAM users with CodeStar Full Access will be able to create and manage CodeStar project resources and grant other IAM users in this account access to those resources”
The last step of the chain is to set AWS CloudWatch to monitor all the pieces of our project.
Then we are offered a choice to integrate our project into our development environment. There are choices of the AWS Toolkit to use with Visual Studio or Eclipse. Since I only use a text editor for all my coding, I prefer the third option, which is to handle the project from the command line.
Clicking each of the options will show a tutorial with the steps needed to integrate the project with our tools. The command line option only asks you to clone the created repository to your machine. You’ll find very thorough explanations on how to clone a CodeCommit repository on your specific OS.
After clicking “Next” we are done with the setup, and we are greeted by our project monitoring dashboard. There are a lot of widgets we can take advantage of. We can see our project history, its history, our continuous deployment pipeline, etc. It also provides quick links to configure the main parts of our project, like its repo, build tools, deploy tools, pipeline setup, and team management. Here is a list of all the resources that were created for us.
After cloning the project to our local machine we’ll see a list of files. The buildspec.yml contains all the build information of our project. By default, the app will just run npm install to install the project dependencies and then it will generate a template file to run through CloudFormation to deploy the app.
Lastly, we have the template.yml file, which is a CloudFormation template our default infrastructure setup. We can modify this file to handle our entire application infrastructure on AWS, without having to interact anymore with the AWS console or its cli.
To see how the project is working we can update the app.js file, commit the changes, and then push to origin to trigger the continuous deployment pipeline.
When the deployment is done, we can check that the update was successful by checking our API Gateway endpoint. It should know show are greetings from AWS CodeStar.
Happy Reading with FoxuTech…!!!
For more: AWS Reference