Skip to content
This repository was archived by the owner on Sep 1, 2022. It is now read-only.

Commit d6df6f8

Browse files
authored
Merge branch 'master' into patch-1
2 parents ebb7046 + ecb1725 commit d6df6f8

10 files changed

+54
-22
lines changed

config.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
# Course information
22
title: "GitHub Actions: Continuous Delivery"
3-
tagline: Use GitHub Actions to deploy a serverless application to the cloud
43
description: Create two deployment workflows using AWS.
54
tags:
65
- GitHub Actions

course-details.md

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,44 @@
1-
This course is about continuous delivery, or CD, with GitHub Actions. We create two workflows to deploy our app to an AWS S3 bucket automatically. CD is an important part of modern software development, and it has a big meaning. CD is the practice of delivering software faster and with higher quality. To do this, it takes many different practices, behaviors, and technologies.
1+
This course is about continuous delivery, or CD, with GitHub Actions. CD is a crucial part of modern software development, and it can have a monumental impact on development projects.
22

3-
In this course, we focus on workflows to deploy pull requests automatically to a staging environment, and to deploy all merged commits to production. In this course, you will:
3+
Continuous Delivery is the practice of delivering software faster and with higher quality. Doing so successfully requires many different practices, behaviors, and technologies. GitHub Actions makes implementing CD easier, faster, and more reliable.
44

5-
- Create two workflow files
6-
- Configure AWS S3 for deployment
5+
In this course, we focus on using workflows in GitHub Actions to deploy pull requests automatically to a staging environment, and to deploy all merged commits to production.
6+
7+
**Please note**: You may need a credit card to create an account with a cloud provider. If you're a student, you may also be able to take advantage of the [Student Developer Pack](https://education.github.com/pack) for access to a cloud provider. If you'd like to continue with the course without an account with a cloud provider, Learning Lab will still respond, but none of the deployments will work.
8+
9+
## What you'll learn
10+
11+
We'll answer common questions like:
12+
- What is Continuous Delivery?
13+
- What is a workflow file and how are workflows used with GitHub Actions?
14+
- What are deployment triggers and how are they used with deployments?
15+
- How can secrets store tokens?
16+
17+
18+
And when you're done you'll be able to:
19+
- Use GitHub Actions and create workflow files
720
- Use secrets to store tokens
8-
- Deploy to staging and production
9-
- Practice using GitHub Actions
21+
- Deploy to staging and production using GitHub Actions to implement CD
22+
23+
24+
## What you'll build
25+
In this course, we'll be walking through a CD deployment using GitHub Actions, and creating a Tic Tac Toe game!
26+
27+
![deployed app](https://user-images.githubusercontent.com/16547949/75822607-4003d480-5d6e-11ea-99e5-fc0cb5ca8054.gif)
28+
29+
## Prerequisites
30+
Before you start, you should be familiar with GitHub and Continuous Integration. We recommend taking the following three Learning Labs prior to this course:
31+
32+
- [Introduction to GitHub](https://lab.github.com/githubtraining/introduction-to-github)
33+
- [Hello GitHub Actions!](https://lab.github.com/github/hello-github-actions!)
34+
- [Continuous Integration with GitHub Actions](https://lab.github.com/githubtraining/set-up-continuous-integration-with-github-actions)
35+
36+
## Projects used
37+
This course makes use of the following technologies:
38+
- [Node.js](https://nodejs.org/en/download/)
39+
- AWS - [create an account](https://portal.aws.amazon.com/billing/signup) if you don't already have one.
40+
- [Amazon S3](https://s3.console.aws.amazon.com/s3/home) Buckets
41+
42+
## Audience
1043

11-
**Please note**: You may need a credit card to create an AWS account. If you're a student, you may also be able to take advantage of the [Student Developer Pack](https://education.github.com/pack) for access to AWS. If you'd like to continue with the course without an AWS account, Learning Lab will still respond, but none of the deployments will work.
44+
Developers, DevOps Engineers, students, teams

responses/01_label-trigger.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Every deployment is kicked off by some trigger. Engineers at many companies, lik
2525

2626
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.
2727

28-
### :keyboard: Activity: Configure the workflow trigger based on an a label being added
28+
### :keyboard: Activity: Configure the workflow trigger based on a label being added
2929

3030
1. Edit the `deploy-staging.yml` file on this branch, or [use this quick link]({{ repoUrl }}/edit/staging-workflow/.github/CHANGETHIS/deploy-staging.yml?) _(We recommend opening the quick link in another tab)_
3131
2. Change the name of the directory `CHANGETHIS` to `workflows`, so the title of this file with the path is `.github/workflows/deploy-staging.yml`

responses/03_workflow-steps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ We won't be going into detail on the steps of this workflow, but it would be a g
1111
- [`actions/download-artifact`](https://github.com/actions/download-artifact)
1212
- [`github/deploy-nodejs`](https://github.com/github/deploy-nodejs)
1313

14-
The course [_Using GitHub Actions for CI_](https://lab.github.com/githubtraining/using-github-actions-for-ci) also teaches how to use most of these actions in details.
14+
The course [_Using GitHub Actions for CI_](https://lab.github.com/githubtraining/github-actions:-continuous-integration) also teaches how to use most of these actions in details.
1515

1616
### :keyboard: Activity: Deploy a Node.js app to AWS for the first time
1717

responses/07_approve.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,10 @@ This file is specific to deploying a serverless application to AWS. Specifically
1616

1717
In our case, we created the `sam-template.yml` for you. It contains information that's specific about the application's endpoints and structure.
1818

19-
## Step 7: Approve the pull request
19+
## Step 6: Approve the pull request
2020

2121
I've requested your approval on this pull request. Once you approve this, I will merge.
2222

2323
### :keyboard: Activity: Approve pull request adding `aws-config.yml` and `sam-template.yml`
2424

25-
1. Approve this pull request
25+
1. Approve this pull request

responses/08_test.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
Now that the proper configuration and workflow files are present, let's test this action out!
44

5-
## Step 8: Test the staging action
5+
## Step 7: Test the staging action
66

77
In this pull request, there's a small change to the game. Once you add the label, you should be able to see the deployment!
88

99
### :keyboard: Activity: Add the proper label to this pull request
1010

11-
1. On the right hand side, click **Add label**
11+
1. On the right hand side, click **Labels** or the gear next to it
1212
2. Select the label titled **stage**

responses/09_merge-trigger.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Deployments to production can be manual (like through a Chat Ops command), or au
44

55
We'll trigger a deployment to the production environment whenever something is committed to master. Our master branch is protected, so the only way for commits to appear on master is for a pull request to have been created and gone through the proper review process and merged.
66

7-
## Step 9: Write the production deployment trigger
7+
## Step 8: Write the production deployment trigger
88

99
Let's create a new workflow that deals specifically with commits to master and handles deployments to prod.
1010

@@ -26,4 +26,4 @@ on:
2626
push:
2727
branches:
2828
- master
29-
```
29+
```

responses/10_deploy-prod.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Just like with the other workflow, we'll need to build our application and deplo
88

99
In our case, we can match our production environment to be exactly like our staging environment. This minimizes opportunities for surprises once we deploy to production.
1010

11-
## Step 10: Complete the deployment to production workflow
11+
## Step 9: Complete the deployment to production workflow
1212

1313
### :keyboard: Commit the steps to the production workflow that allow you to deploy on merge to master
1414

@@ -59,4 +59,4 @@ jobs:
5959
env:
6060
AWS_ACCESS_KEY: {% raw %}${{ secrets.AWS_ACCESS_KEY }}{% endraw %}
6161
AWS_SECRET_KEY: {% raw %}${{ secrets.AWS_SECRET_KEY }}{% endraw %}
62-
```
62+
```

responses/11_workflow-steps.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ We'll only use one new action here created by a GitHubber, which allows us to pu
77

88
All of this happens automatically once a pull request is merged!
99

10-
## Step 11: Write the steps for the production workflow
10+
## Step 10: Create the Docker image and push it to GitHub Packages
1111

1212
### :keyboard: Activity: Write the steps for the production deployment workflow
1313

@@ -100,4 +100,4 @@ jobs:
100100
with:
101101
repo-token: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
102102
image-name: tic-tac-toe
103-
```
103+
```

responses/12_merge.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
Nice job, you've done it!
44

5-
## Step 12: Merge the production workflow
5+
## Step 11: Merge the production workflow
66

77
### :keyboard: Activity: Merge this pull request and test the production deployment workflow
88

99
1. Merge this pull request
10-
2. Delete the branch
10+
2. Delete the branch

0 commit comments

Comments
 (0)