Skip to content

Commit 0ed03e2

Browse files
Add navbar, fixed alerts, updated links to be reference format
1 parent 69bc727 commit 0ed03e2

File tree

1 file changed

+26
-11
lines changed

1 file changed

+26
-11
lines changed

content/full-day/8-deployment.md

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# Deploying the project to the cloud
22

3+
| [← GitHub flow][walkthrough-previous] | [Next: Pets workshop selection →][walkthrough-next] |
4+
|:-----------------------------------|------------------------------------------:|
5+
36
The CD portion of CI/CD is continuous delivery or continuous deployment. In a nutshell, it's about taking the product you're building and putting it somewhere to be accessed by the people who need it. There's numerous ways to do this, and the process can become rather involved. We're going to focus on taking our application and deploying it to Azure.
47

58
> [!NOTE]
@@ -24,13 +27,13 @@ To streamline the process, we're going to work directly with the **main** branch
2427

2528
## Identity management
2629

27-
Whenever you're interacting with an external service, you of course need credentials to perform any actions. This holds true when you're creating any form of automated tasks, such as a workflow in GitHub. There are several ways to manage identities, including access tokens, shared passwords, and [Open ID Connect (OIDC)](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect), with the latter being the newest and preferred mechanism. The advantage to OIDC is it uses short-lived tokens and provides granular control over the operations which can be performed.
30+
Whenever you're interacting with an external service, you of course need credentials to perform any actions. This holds true when you're creating any form of automated tasks, such as a workflow in GitHub. There are several ways to manage identities, including access tokens, shared passwords, and [Open ID Connect (OIDC)][oidc-docs], with the latter being the newest and preferred mechanism. The advantage to OIDC is it uses short-lived tokens and provides granular control over the operations which can be performed.
2831

2932
Creating and setting up the credentials is typically a task performed by administrators. However, there are tools which can manage this for you, one of which we'll be taking advantage of!
3033
3134
## Asking Azure how to deploy to Azure
3235
33-
We previously talked about [extensions for GitHub Copilot chat](./5-context.md#chat-participants-and-extensions), which allow you to interact with external services. These external services could provide access to information about your DevOps flow, database, and other resources. One such extension is the [Azure extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-github-copilot), which as the name implies allows you to interact with Azure. You can use the extension to get advice on how to deploy your application, check the status of services, and perform other operations. We'll use this extension to ask how to deploy our application.
36+
We previously talked about [extensions for GitHub Copilot chat][extensions-copilot-chat], which allow you to interact with external services. These external services could provide access to information about your DevOps flow, database, and other resources. One such extension is the [Azure extension][azure-copilot-extension], which as the name implies allows you to interact with Azure. You can use the extension to get advice on how to deploy your application, check the status of services, and perform other operations. We'll use this extension to ask how to deploy our application.
3437

3538
As we've done with other tasks, we don't have a specific prompt to use when talking with Azure, as part of the experience is to learn how best to interact with GitHub Copilot. The requirements for the deployment are:
3639

@@ -40,20 +43,20 @@ As we've done with other tasks, we don't have a specific prompt to use when talk
4043
1. Open GitHub Copilot Chat.
4144
2. Activate the Azure extension by typing `@azure`, selecting <kbd>Tab</kbd> then asking the extension how to perform the task you wish to perform (see the requirements above).
4245

43-
> [!NOTE]
44-
> Since this is your first time using the extension, you will be prompted to signin to Azure. Follow the prompts as they appear.
46+
> [!NOTE]
47+
> Since this is your first time using the extension, you will be prompted to signin to Azure. Follow the prompts as they appear.
4548

4649
3. You should receive a response which highlights the `azd` command, which can be used to both initialize a cloud environment and create the workflow.
4750

4851
## Overview of the response from Copilot
4952

5053
The response from GitHub Copilot will likely contain instructions to use the following commands:
5154

52-
- `azd init --from-code` to create the Azure configuration files using [bicep](https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview?tabs=bicep).
55+
- `azd init --from-code` to create the Azure configuration files using [bicep][bicep-docs].
5356
- `azd auth login` to authenticate to Azure.
5457
- `azd pipeline config` to create the GitHub Workflow.
5558

56-
[azd](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview?tabs=windows) is a commandline utility to help streamline the deployment process to Azure. We'll use it to:
59+
[azd][azd-docs] is a commandline utility to help streamline the deployment process to Azure. We'll use it to:
5760
5861
- generate the bicep file.
5962
- create the workflow file.
@@ -101,8 +104,8 @@ Bicep is a domain specific language (DSL) for defining Azure resources. It's dyn
101104
}
102105
```
103106
104-
> [!NOTE]
105-
> While the syntax resembles JSON, it's not JSON. As a result, resist the urge to add commas to separate the values!
107+
> [!NOTE]
108+
> While the syntax resembles JSON, it's not JSON. As a result, resist the urge to add commas to separate the values!
106109

107110
## Create the workflow
108111

@@ -190,6 +193,18 @@ Work with the workshop leaders as needed to ask questions and get guidance as yo
190193

191194
## Resources
192195

193-
- [What is the Azure Developer CLI?](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview?tabs=linux)
194-
- [About security hardening with OpenID Connect](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect)
195-
- [Deploying with GitHub Actions](https://docs.github.com/en/actions/use-cases-and-examples/deploying/deploying-with-github-actions)
196+
- [About security hardening with OpenID Connect][oidc-docs]
197+
- [Deploying with GitHub Actions][actions-deploy]
198+
- [What is the Azure Developer CLI?][azd-docs]
199+
200+
| [← GitHub flow][walkthrough-previous] | [Next: Pets workshop selection →][walkthrough-next] |
201+
|:-----------------------------------|------------------------------------------:|
202+
203+
[actions-deploy]: https://docs.github.com/en/actions/use-cases-and-examples/deploying/deploying-with-github-actions
204+
[azd-docs]: https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview?tabs=linux
205+
[azure-copilot-extension]: https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azure-github-copilot
206+
[bicep-docs]: https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview?tabs=bicep
207+
[extensions-copilot-chat]: ./5-context.md
208+
[oidc-docs]: https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connects
209+
[walkthrough-previous]: 7-github-flow.md
210+
[walkthrough-next]: ../README.md

0 commit comments

Comments
 (0)