Skip to content

Personal resume implemented in Angular with a C# Azure Functions API backend.

License

Notifications You must be signed in to change notification settings

jpfulton/ng-resume

Repository files navigation

ng-resume

continous-integration-and-deployment Visitors

A personal resume implemented in Angular v16 and Azure Functions.

Features

DevOps and Deployment

CI/CD Workflow

The CI/CD workflow pipeline for this project is implemented in a GitHub Actions workflow through YAML file that can be found here. Deployments to both preview and production environments are made by the pipeline into Microsoft Azure and hosted in a Static Web App Service resource. Prior to deployment to either a preview environment or production, merges and PRs must pass linting, test suite execution and compilation steps. The CI/CD pipeline is triggered by either a push into the default branch or the opening, reopening or synchronization of a PR into the default branch. PR build results are deployed to preview environments that are given dynamic DNS entries. Preview environment locations are posted as comments on the PR following a successful deployment. Closure of a PR will result in the preview environment being deleted from the Azure resource as a clean up mechanism.

E2E Deployment Santity Testing

Following deployments to both preivew and production Azure environments, an end-to-end test suite is run to validate the sanity of the deployment. In the event of a test failure, screenshots of the website state following each individual test are uploaded as artifacts to the source workflow. After each test suite run, a video of the test suite run is always uploaded as a workflow artifact.

Building and Debugging

macOS and Visual Studio Code

Primarily authored on macOs in Visual Studio Code, several tips and tricks apply in addition to using the recommended extensions:

  • Reference the workaround in this issue if the debugger fails to attach to the C# functions locally
  • Enable the setting Editor: Format on Type in VSCode
  • Utilize this Homebrew tap to install multiple versions of the dotnet SDK in parallel
  • When debugging in Chrome Dev Tools, the Angular DevTools Extension comes in handy