Prereqs:
- Create an Azure account
- If you haven't already, install Git, Docker (Docker Desktop free in personal plan), .NET CLI, Node.js, Azure Developer CLI, and your preferred IDE like VSCode
- Node.js, .NET CLI, and other versioned programming related CLI's may be easier to manager with a version manager like asdf
** Remember your new home: https://aex.dev.azure.com/me
- Create your organization tutorial ๐
- Create the project, you'll be deploying an example e-commerce application to it so name it appropriately.
- You may want to start a wiki to keep notes on what you learn, and things specific to this project.
- Clone the Github repo of this example app: GitHub - Azure-Samples/eShopOnAzure: A variant of https://github.com/dotnet/eShop that uses Azure services
- Create a new Azure Repo in your org
- Add a remote of your Azure Repo to your local clone
- Remove the existing
origin
remote by executinggit remote remove origin
;origin
is the common default name for remote git repository references and will be automatically populated when you clone the example eShopOnAzure repo. - Check your Azure Repo webpage for a specific
git remote add origin
command under Push an existing repository from command line
- Remove the existing
git push
the code to the org repo default branch- This should be the last time you're updating the default branch without a pull request!
git push
involves a few things:git status
will display a list of currently changed files,git add -A
will stage all of the files to be committed,git commit -m "Some changes"
will commit the changes locally, and finallygit push
will either push the changes to your remote origin or tell you how to track your branch to a corresponding remote branch.- Commit messages are a practiced art and sometimes a part of release automation
Run the app locally using Docker eShopOnAzure -> README.md -> Getting Started
Follow the steps to install the Azure CLI and deploy the app locally. Make sure you have the app running locally in Docker, then in Azure via the provided default options.
Note: This project has both unit tests via dotnet test
and e2e tests via npx playwright
.
- Referencing the existing Github Actions pipelines, create a CI pipeline that will verify the code (hint:
.github/workflows/pr-validation.yml
is an existing Github Actions version)- Make sure your test results are uploaded during the CI build tutorial: dotnet ๐ tutorial: playwright ๐
- Create a CD (Release) pipeline that will update the Azure deployment of the app whenever the default branch is updated official docs ๐
- Make sure your tests are running prior to release and prevent a release if they fail
- Verify that Tests tab populates with test results for both unit and e2e tests.
This step helps avoid unnecessary costs by automatically tearing down resources that arenโt needed after testing.
Create a new release pipeline that will use azd
to delete the eShopOnAzure resources scheduled to run once per day in case we forget to take them down.
- Make sure you move all of your secrets to Azure secret variables (Pipelines -> Library -> Variables)
- You can make variable groups for specific environments, applications
- Make sure your pipeline is represented and used as code schema ๐ lab ๐
- Create the pipelines in a branch
- Merge the branch when it is running appropriately. Note: you may want to change the target and run conditions while testing, and set it to its final settings when ready to merge.
- You may use a validator in your IDE or via the Azure Pipelines editor (Pipelines -> Create Pipeline)
Congratulations, you just got bought out. The only stipulation of the buyout is that the company must change its' name.
- Make sure the app is currently deployed
- Locally (on your machine), create a new branch to work on
- Update any AdventureWorks references (besides images) to the new company name (your choice or
Toboggan Noggins
) - Make sure the app runs locally and the references to the old company name are updated
- Commit the changes to your local branch
- Push the local branch to the same name branch on Azure DevOps repos
- Make a pull request to the default branch
- Make sure all tests pass for your pull request
- Merge the pull request
- Follow the release to Azure and make sure it works prior to signing off for the day
- Official Azure DevOps on YouTube
- Get started with Azure DevOps official learning path (free)
- Official Azure DevOps Labs
- Status portal: Azure DevOps - Status
- The team breaks their app a lot on Fridays, so if Azure DevOps is acting weird check here