You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Chances are you've heard the abbreviation CI/CD, which stands for continuous integration and continuous delivery (or sometimes continuous deployment). CI is centered on incorporating new code into the existing codebase, and typically includes running tests and performing builds. CD focuses on the next logical step, taking the now validated code and generating the necessary outputs to be pushed to the cloud or other destinations. This is probably the most focused upon component of DevOps.
4
7
5
8
CI/CD fosters a culture of rapid development, collaboration, and continuous improvement, allowing organizations to deliver software updates and new features more reliably and quickly. It ensures consistency, and allows developers to focus on writing code rather than performing manual processes.
6
9
7
-
[GitHub Actions](https://github.com/features/actions) is an automation platform upon which you can build your CI/CD process. It can also be used to automate other tasks, such as resizing images and validating machine learning models.
10
+
[GitHub Actions][github-actions] is an automation platform upon which you can build your CI/CD process. It can also be used to automate other tasks, such as resizing images and validating machine learning models.
8
11
9
12
## Scenario
10
13
11
-
A set of unit tests exist for the Python server for the project. You want to ensure those tests are run whenever someone makes a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) (PR). To meet this requirement, you'll need to define a workflow for the project, and ensure there is a [trigger](https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows) for pull requests to main. Fortunately, [GitHub Copilot](https://gh.io/copilot) can aid you in creating the necessary YML file!
14
+
A set of unit tests exist for the Python server for the project. You want to ensure those tests are run whenever someone makes a [pull request][about-prs] (PR). To meet this requirement, you'll need to define a workflow for the project, and ensure there is a [trigger][workflow-triggers] for pull requests to main. Fortunately, [GitHub Copilot][copilot] can aid you in creating the necessary YML file!
12
15
13
16
## Exploring the test
14
17
@@ -24,7 +27,7 @@ Let's take a look at the tests defined for the project.
24
27
> [!NOTE]
25
28
> Consider using the following GitHub Copilot tips to gain an understanding of the tests:
26
29
>
27
-
> -`/explain` is a [slash command](https://docs.github.com/en/copilot/using-github-copilot/copilot-chat/github-copilot-chat-cheat-sheet) to quickly ask for an explanation
30
+
> -`/explain` is a [slash command][copilot-slash-commands][copilot-slash-commands] to quickly ask for an explanation
28
31
> - Highlight specific sections of the file to focus on areas you may have questions about
29
32
30
33
## Understanding workflows
@@ -101,9 +104,10 @@ jobs:
101
104
102
105
## Push the workflow to the repository
103
106
104
-
With the workflow created, let's push it to the repository. Typically you would create a PR for any new code (which this is). To streamline the process, we're going to push straight to main as we'll be exploring pull requests and the [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) in a later exercise. You'll start by obtaining the number of the [issue you created earlier](./2-issues.md), creating a commit for the new code, then pushing it to main.
107
+
With the workflow created, let's push it to the repository. Typically you would create a PR for any new code (which this is). To streamline the process, we're going to push straight to main as we'll be exploring pull requests and the [GitHub flow][github-flow] in a [later exercise][github-flow-exercise]. You'll start by obtaining the number of the [issue you created earlier][issues-exercise], creating a commit for the new code, then pushing it to main.
105
108
106
-
> **NOTE:** All commands are entered using the terminal window in the codespace.
109
+
> [!NOTE]
110
+
> All commands are entered using the terminal window in the codespace.
107
111
108
112
1. Use the open terminal window in your codespace, or open it (if necessary) by pressing <kbd>Ctl</kbd> + <kbd>`</kbd>.
109
113
1. List all issues for the repository by entering the following command in the terminal window:
@@ -147,11 +151,27 @@ You've now seen a workflow, and explore the details of a run!
147
151
148
152
## Summary and next steps
149
153
150
-
Congratulations! You've implemented automated testing, a standard part of continuous integration, which is critical to successful DevOps. Automating these processes ensures consistency and reduces the workload required for developers and administrators. You have created a workflow to run tests on any new code for your codebase. Let's explore [context with GitHub Copilot chat](./5-context.md).
154
+
Congratulations! You've implemented automated testing, a standard part of continuous integration, which is critical to successful DevOps. Automating these processes ensures consistency and reduces the workload required for developers and administrators. You have created a workflow to run tests on any new code for your codebase. Let's explore [context with GitHub Copilot chat][walkthrough-next].
0 commit comments