Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: pre-release candidate #61

Closed
wants to merge 85 commits into from
Closed

feat: pre-release candidate #61

wants to merge 85 commits into from

Conversation

ap0nia
Copy link
Contributor

@ap0nia ap0nia commented Jul 10, 2023

Features

  • Construct-centric configuration.
    • Constructs are AWS's implementation of classes that can be used to represent (cloud) architecture, used in AWS's CDK and Terraform's CDKTF
  • GitHub event handling: will offer CI/CD event callbacks that can be invoked following stack deployments, destructions, etc.
    • CI/CD integrations with deployments; after deploying a stack, it will be viewable in GitHub's "deployments" tab
    • e.g. commenting staging URLs
  • Full-featured application constructs
    • API - focused on supporting PeterPortal API's backend deployment
    • Static Site - focused on supporting PeterPortal API's Docusaurus documentation deployment, and maybe basic static sites like AntAlamanac
    • SSR Site - NextJS and SvelteKit (post-release)
  • Terraform > CloudFormation! (post-release + proposal) :^)

Stuff I'd probably be working on

  • Implement methods for the API stack

    • dev: starts an ExpressJS development server
    • deploy: deploys the stacks created in the root config
    • destroy: destroys the stacks created in the root config
  • Static Site construct

    • Maybe invoke the Docusaurus commands?
    • Write the constructs to allocate CloudFront and S3
  • GitHub event hooks

    • On staging PR update (deploy)
    • On staging PR closed (destroy)
    • On production push (deploy)

Previous Stuff

# Summary
Proof of concept for fully managing our CI/CD processes in a 100% programmatic way using GitHub actions's JS api.

# TODO
- [x] Add some sort of description or metadata to the deployment statuses; every deployment creates 2 websites, so need to distinguish between the two
resolved by deploying to two different environments: staging - api and staging - docs, should be same for prod

- [x] Workflow files relating to deployment can be handled within Node
~~ - [x] stabilize (on all deployments): busy wait for CloudFormation when it's in the middle of updating

- [x] clean-up (on PR closed): invoke cdk destroy to clean up resources used for previews, then mark deployment status as inactive

@ap0nia ap0nia changed the title Cdk cicd feat: ant-stack cicd Jul 10, 2023
@ap0nia ap0nia changed the base branch from main to ant-stack-migration July 10, 2023 22:48
@github-actions
Copy link

🚀 Staging instances deployed!

API - https://staging-61.api-next.peterportal.org

Docs - https://staging-61-docs.api-next.peterportal.org

@icssc icssc deleted a comment from github-actions bot Jul 11, 2023
@icssc icssc deleted a comment from github-actions bot Jul 11, 2023
@icssc icssc deleted a comment from github-actions bot Jul 11, 2023
@icssc icssc deleted a comment from github-actions bot Jul 11, 2023
@icssc icssc deleted a comment from github-actions bot Jul 16, 2023
@github-actions
Copy link

🚀 Staging instances deployed!

API - https://g6qjhy7lu3.execute-api.us-east-1.amazonaws.com/prod/

@github-actions
Copy link

🚀 Staging instances deployed!

API - https://g6qjhy7lu3.execute-api.us-east-1.amazonaws.com/prod/

@github-actions
Copy link

🚀 Staging instances deployed!

API - https://g6qjhy7lu3.execute-api.us-east-1.amazonaws.com/prod/

@github-actions
Copy link

🚀 Staging instances deployed!

API - https://g6qjhy7lu3.execute-api.us-east-1.amazonaws.com/prod/

@github-actions
Copy link

🚀 Staging instances deployed!

API -

Docs -

@github-actions
Copy link

@github-actions
Copy link

@github-actions
Copy link

@ap0nia
Copy link
Contributor Author

ap0nia commented Jul 27, 2023

Will be closing and starting a separate dev-ops repository with these concepts 🤓

@ap0nia ap0nia closed this Jul 27, 2023
@ecxyzzy ecxyzzy deleted the cdk-cicd branch August 2, 2023 01:25
@ecxyzzy ecxyzzy restored the cdk-cicd branch August 2, 2023 01:25
@ecxyzzy ecxyzzy deleted the cdk-cicd branch August 15, 2023 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants