Skip to content
This repository was archived by the owner on Nov 4, 2022. It is now read-only.

Conversation

@brianz
Copy link
Contributor

@brianz brianz commented Mar 16, 2022

What

Demonstrate setting up CI/CD with SAM Pipelines

How

  • Bootstrap a new pipeline with CodePipeline via SAM Pipelines
  • Run unit tests in a separate stage
  • Introduce dev and test stages for the serverless app, which demonstrates a more realistic
    scenario
  • Run canary deployments only for production
  • Use Node/Python as examples
  • Update setup and cleanup scripts to work with AL2/Cloud9
  • Favor text examples over screenshots for easier maintainability

Next

  • Add Java/C# as example runtimes for the serverless app
  • Show different CI/CD platforms like Jenkins or GH Actions

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

brianz and others added 23 commits October 26, 2021 09:41
* Updated bootstrap script for Amazon Linux 2 * Update setup instructions for AL2 Why --- - Some instructions needed updating for the AL2 bootstrap script How --- - Using text code snippets is simpler and easier to update than screenshots. - Update the boostrap steps with the new behavior of `bootstrap.sh` on AL2 Next Steps ---------- - Cleanup/remove old screenshots - Add steps and instructions to use SAM Pipelines * Updates to include SAM Pipelines - Added Chapter 4 which covers SAM Pipelines - Updated Formatting - Removing/updating some screenshots Co-authored-by: Matt Diamond <matt.d.diamond@hotmail.com>
What ----- - SAM Pipelines needed some better explaining and diagrams - There are many sections that are the same between languages. Create a custom Hugo snippet to share templates across languages. How ---- - Add in-depth explanation and walk through of SAM Pipelines - Update many other sections with minor copy edits and formatting. - Removed all references to the CDK build steps - Move _many_ screenshots to plain text, which will be easier to update and maintain - Update `bootstrap.sh` to work with AL2 Next ------ - Finish the canary deployment for JS. Update the SAM/CFN template to only use gradual deployment only for production stack. - Left off at the Rolbacks sections. Finish off that one and show how ,with the canary deployment enabled only on `prod`, the dev stack is updated but prod is rolled back. - Remove outdated files in other languages - Double check all of the menus for different languages and make sure they align - In further-future, it would makse sense to move to a _single_ workshop with one set of steps, and treat each language different in the same section so students could follow their language of choice within a single part of the lab. This would make maintainability much easier, and the flow of the workshop improved. - Update the cleanup steps
Why --- - Get the Python pipeline section more in-line with the JS version. How --- - Remove legacy section from Python - Update bootstrap script to work around a new error during updating. - Add a `.gitignore` step Next Steps ---------- -
Why --- - Maintaining four languages is a lot of overhead. Having a single flow of the workshop using tabs where appropriate is much simpler. How --- - Use `tabs` to split Python/Node specifics, for the Lambda function - Update lots of content for accuracy - Update some screenshots
@brianz brianz requested a review from ferdingler March 16, 2022 23:00
@brianz brianz merged commit 82fe67c into master Mar 16, 2022
@brianz brianz deleted the beta branch November 3, 2022 17:52
@brianz brianz restored the beta branch November 3, 2022 17:55
@brianz brianz deleted the beta branch November 3, 2022 17:55
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

3 participants