Getting Started with AWS CodeCommit

This is my first time being on the configuration end of any of Amazon’s Web Services products. I found the process to be pretty straightforward thanks to their excellent documentation. That said, it was far more time-consuming than I had anticipated, hence the warning: Don’t do this when very tired, you could really screw things up.

This is a 50,000 foot view of what was involved, though I can guarantee it was not in this order. Again, refer to the AWS CodeCommit documentation if you want the details.

AWS Account Setup

AWS has some good overview tutorial videos, but given the number of steps in the process, I opted to have the online help and the configuration web page open side-by-side in separate browser windows. I followed their recommended best practices which led me to create a top-level AWS account for service management (including potential billing), then create separate CodeCommit admin and developer accounts for the repositories, and finally with creating and configuring security groups. This might be overkill for a one-person setup, but I would rather go the extra mile now and have the foundation laid for future expansion rather than have to try reconfigure it in the future.

These are all one-time tasks that require your undivided attention to make sure you get them set up correctly. I had to backtrack at least once, possibly twice, but that doesn’t really matter. In the end it came down to needing to re-RTFM (Read the Free Manual). Having done that, I was able to get back on track without losing too much of what little was left of my sleep-deprived mind. Once I had those accounts and security groups set, I was ready to set up my repositories.

Repository Setup

From the CodeCommit admin console, I created one master repository for this web site’s source. I configured the authentication key for the developer account and again, following the documentation, set it up on my local machine, and performed an initial checkout of the repo.

After that, it was just going through the fundamentals of working with git repos: configuring the .gitignore file, creating a branch, adding files to my local repo, making commits, and then pushing the whole thing to the server. Although I worked until the wee hours of the morning, I did manage to remember to log into the web admin console to confirm my commits were visible on the server.

Next Steps

I will be setting up my laptop next to access the repo next. Beyond that, as I mentioned in a previous post, I have the code for a number of Arduino and Raspberry Pi projects that I need to review and decide how best to organize. I have it all backed up on Google Drive at the moment, but it’s time to treat them like real projects and get them under source control so I can move forward with them in preparation for building prototypes.