8 Tips for Setting Up Continuous Integration in AWS
April 8, 2019 No CommentsFeatured article by Tom English, Independent Technology Author
When utilized together, Continuous Integration tools and AWS (Amazon Web Services) can be a killer combination for improving your processes and efficiency. That said, the whole process of getting various software programs to communicate and automating CI in AWS sounds pretty complex right? Not necessarily.It can be relatively simple to set up a CI/CD pipeline on AWS. This article will give you the know-how that you need to get started
Understand the Total Costs of Building and Operating a Pipeline
It’s important to gain an understanding of the different components that exist within AWS and their subsequent costings. AWS is comprised of various different software programs, each of which require separate monthly payments. As a consequence, the cost of running a CI/CD pipeline through AWS can vary quite significantly depending on the specifics. When building your pipeline, you can use Amazon S3, AWS CodeCommit, WS CodePipeline and Amazon EC2. You may want to incorporate all of these or just a select few. However, keep in mind that price models vary. This may or may not be a major factor in your decision to use CI with AWS depending on the scale of your operation and your budget.
Enable Permissions First of All
We don’t want to be teaching you to “suck eggs” here but oftentimes, oversight of a simple process can cause substantial problems and confusion later on. One such oversight is when people do not check the permissions on their AWS account and wind up scratching their heads later when trying to build an effective pipeline. The easiest way to proceed is to head into the AWS Management Console on your account, and select the option “AWS CodePipeline FullAccess”. From there you are ready to proceed in building your pipeline.
Ensure You Have the Latest Version of AWS CLI
AWS CLI is the software program that you need to install, in order to be able to interact with the AWS Codepipeline. The latter only works correctly with certain versions of AWS CLI. As such, you need to ensure that you have the correct version installed. You should install AWS CLI version 1.7.38 or later in order for everything to work smoothly.
Do as Much Background Reading as You Can Beforehand
Before setting up any pipelines or strategies for implementation, ensure that you have a thorough understanding of the AWS platform, what it can do for you, and what you want to achieve. You should already have a good understanding of GIT workflows, and the predominant features of AWS CI/CD (Serverless Framework, S3, Code Pipeline, Code Build). If you have any uncertainties, go back and do more reading.
If you are setting up a bespoke pipeline independently, the last thing you want to do is get part way through setting up something that isn’t perfectly tailored to your needs because you were not aware of some features and aspects. The AWS site has plenty of handy video tutorials and walkthroughs that you can refer to.
Set up S3 Bucket to Store Build Artifacts
The Amazon S3 arm of the AWS system exists with the purpose of storing and retrieving large amounts of data from various sources. Think of it as the cloud for coding if you will. You need to set up an Amazon S3 account and dashboard in order to store build artifacts that you want to use in your coding. Amazon S3 typically requires its individual monthly fee as part of the AWS package, however, there are some “deals” where it is included”.
Use JEST Software to Configure the Testing Environment
If you are implementing a CI framework in AWS, you will surely know that one of the major benefits of doing so is the thorough, automated testing that CI allows. CI testing is infinitely more reliable than manual testing and commences automatically every time a code change is pushed. This makes it easier to identify any potential errors and ensures that codes never make it through to the CD stages without being confirmed as issue free.
For AWS, Jest is a JavaScript testing framework that has been created and maintained by a group of Facebook employees, along with Open Source Contributors. Be sure to install “jestjs” as a development dependency in the Code Pipeline program before writing any code. This will ensure that tests are conducted correctly.
Acknowledge that Patience and Time Commitment are Required
Setting up CI in AWS is no walk in the park for most. Many people can feel a little frustrated with this because they have gotten used to different software or testing programs in the past (e.g. Jenkins) and it makes them begrudge having to learn an entirely new set of codes, programs, and frameworks for AWS. Nothing worth doing comes easy, so acknowledge that AWS and its tools may take a little time to get the hang of.
Draw Out a Clear Process Map
Reiterating back to the earlier point about conducting research prior, opting to do so will significantly reduce the stress in implementing and setting up AWS pipelines. If you are clear on all aspects, you will find it easy to draw up a step-by-step process map to assist you on your way to implementation.
Sorry, the comment form is closed at this time.