|
1 | 1 | # Welcome to the course! |
2 | 2 |
|
3 | | -We will be working with Continuous Delivery. We will... |
4 | | -- Create a workflow to deploy to staging based on a label |
5 | | -- Create a workflow to deploy to production based on merging to master |
6 | | -- Use AWS configuration |
| 3 | +We'll learn how to create a workflow that enables Continuous Delivery. You'll: |
| 4 | +- create a workflow to deploy to staging based on a label |
| 5 | +- create a workflow to deploy to production based on merging to master |
7 | 6 |
|
8 | 7 | Before you start, you should... |
9 | 8 | - [Introduction to GitHub](https://lab.github.com/githubtraining/introduction-to-github) |
10 | 9 | - [Continuous Integration with GitHub Actions](https://lab.github.com/githubtraining/set-up-continuous-integration-with-github-actions) |
11 | 10 |
|
12 | 11 | ### What is Continuous Delivery? |
13 | 12 |
|
14 | | -According to [continuousdelivery.com](https://continuousdelivery.com/), |
| 13 | +[Martin Fowler](https://martinfowler.com/bliki/ContinuousDelivery.html) defined Continuous Delivery very simply in a 2013 post as follows: |
15 | 14 |
|
16 | | -> Continuous Delivery is the ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way. |
| 15 | +> Continuous Delivery is a software development discipline where you build software in such a way that the software can be released to production at any time. |
17 | 16 |
|
18 | 17 | A lot of things go into delivering "continuously". These things can range from culture and behavior to specific automation. In this course, we're going to focus on deployment automation. |
19 | 18 |
|
| 19 | +### Kicking off deployments |
| 20 | + |
| 21 | +Every deployment is kicked off by some trigger. Engineers at many companies, like at GitHub, typically use a ChatOps command as a trigger. The trigger itself isn't incredibly important. In our use case, we'll use labels. When someone applies a "stage" label to a pull request, that'll be our indicator that we'd like to deploy our application to a staging environment. |
| 22 | + |
20 | 23 | ## Step 1: Configure a trigger based on labels |
21 | 24 |
|
22 | | -During the `on` step, we define what should cause this workflow to run. In this case, we want the workflow to run whenever a label is applied to the pull request. |
| 25 | +In a GitHub Actions workflow, the `on` step defines what causes the workflow to run. In this case, we want the workflow to run whenever a label is applied to the pull request. |
23 | 26 |
|
24 | 27 | ### :keyboard: Activity: Configure the workflow trigger based on an a label being added |
25 | 28 |
|
|
0 commit comments