Making it with CodeStar — Or Not
I have a pretty simple idea for how I want this website to work, in short:
- Upload posts and images to an Inbound S3 bucket.
- This kicks off Jekyll, running in Lambda, which writes out the website to an Outbound bucket.
- Front the Outbound Bucket with CloudFront.
I want to have a full CI / CD pipeline, where I can:
- Preview posts that are tagged as ‘draft’ (these posts won’t go to the live Outbound Bucket).
- Preview and validate template and CSS changes.
- Preview and validate new versions of Jekyll or plugins.
I saw that AWS CodeStar is designed help with “creating, managing, and working with software development projects on AWS,” so I thought I would give it a shot. I dove into Setting Up AWS CodeStar:
- Made an IAM Role ‘aws-codestar-service-role’ with one clock from CodeStar Console.
- Switched to the IAM Console so I could attach the ‘AWSCodeStarFullAccess’ policy to my IAM User.
- Back to the CodeStar console to click “Create Project.”
- I did not choose a template, none of them matched what I want.
- Named it Jekyll Engine
- Asking for an Amazon Developer Account? I linked to my root account. I hope this is right?
- Asking for an Amazon Vendor Account? Where do I set that up?
- Went to developer.amazon.com, logged in with my root account credentials, finished setting up profile, including setting up a company name.
- Restarted the Codestar Project setup, now I see my vendor account.
- At the confirmation screen, I see that I did select a template: “Hello World” Alexa / node.js. That Alexa bit would explain why it wanted a developer account and vendor ID.
- Backed out to the template selection screen to see if anything fit. The “Static Website” tempalte wants to host on EC2 instances — not S3 buckets — so this isn’t going to work.
I would have liked to have tried CodeStar, but I don’t want to use a template if I’m going to have to unwind the majority of the work it does for me. Instead, I’ll start building out a CloudFormation template, from scratch. More on that later.