https://github.com/octodemo/github-workshop
GitHub Actions workshop based on the available Actions learning lab modules. Includes "Hello World", CI/CD and GitHub Packages
https://github.com/octodemo/github-workshop
Last synced: 6 months ago
JSON representation
GitHub Actions workshop based on the available Actions learning lab modules. Includes "Hello World", CI/CD and GitHub Packages
- Host: GitHub
- URL: https://github.com/octodemo/github-workshop
- Owner: octodemo
- License: mit
- Created: 2019-12-31T17:06:58.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-10-12T11:07:37.000Z (over 3 years ago)
- Last Synced: 2023-03-03T20:40:03.454Z (over 3 years ago)
- Size: 35.2 KB
- Stars: 97
- Watchers: 4
- Forks: 83
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### GitHub Workshop Guide:
This Workshop will teach you the fundamentals of GitHub, security strategy and essentials on GitHub and how to use GitHub actions to enable CI/CD across your repositories.
GitHub Actions is an advanced feature of GitHub that enables automation, artifact management and CI/CD natively. This workshop aims to educate you on how to implement these workflows across your projects on GitHub.
If you have a moderator, they will likely be vastly out numbered during your workshop - please rely heavily on the documentation provided and available on [help.github.com](https://help.github.com/en). When you are complete, feel free to ask for feedback from your moderator and remember the best way to learn is to teach!
### Phase 1: Introduction to GitHub
> **GitHub Fundamentals**
1. Star this repository so we know you have taken this workshop!
1. Fork this repository to your GitHub Account. (Fork button on top right of Repo)
1. Go to the `Introduction to GitHub` [module](https://lab.github.com/githubtraining/introduction-to-github)
**In this course, you’ll learn how to:**
- Communicate in issues
- Manage notifications
- Create branches
- Make commits
- Introduce changes with pull requests
### Phase 2: Security Strategy & Essentials:
> **This course will show you how to build, host, and maintain a secure repository on GitHub.**
1. Go to the `Security Essentials` [module](https://lab.github.com/githubtraining/security-strategy-essentials)
**In this course, you’ll learn how to:**
- Enable vulnerable dependency detection for private repositories
- Detect and fix outdated dependencies with security vulnerabilities
- Automate the detection of vulnerable dependencies with Dependabot
- Add a security policy with the a SECURITY.md file
- Remove a commit exposing sensitive data in a pull request
- Keep sensitive files out of your repository by leveraging the use of a .gitignore file
- Remove historical commits exposing sensitive data deep in your repository
### Phase 3: Create your first action
> **The goal of Phase 2 is to Create a simple GitHub Action and use it in a workflow.**
1. Go to the `hello world` [actions module](https://lab.github.com/github/hello-github-actions!)
1. Review the official [GitHub Actions resources](https://github.com/alwell-kevin/awesome-actions#official-resources).
**In this phase, you’ll learn how to:**
- Organize and identify workflow files
- Add executable scripts
- Create workflow and action blocks
- Trigger workflows
- Discover workflow logs
### Phase 4: Continuous Integration with Actions
> **The goal of Phase 3 is to Learn how to create workflows that enable you to use Continuous Integration (CI) for your projects.**
1. Go to the `Continuous Integration` [actions module](https://lab.github.com/githubtraining/github-actions:-continuous-integration)
**In this phase, you’ll learn how to:**
- Describe CI and why it is necessary
- Use and customize a templated workflow
- Create CI workflows that match the team's needs and behaviors
- Use the repository's source code and build artifacts (like compiled source code) across jobs in a workflow
- Implement a unit testing framework using GitHub Actions
- Create a workflow that runs tests and produces test reports
- Set up a matrix build to create build artifacts for multiple target platforms
- Save a repository's build artifacts
- Access saved build artifacts
- Choose virtual environments for the application's CI needs
### Phase 5: Publish your Artifact to GitHub Packages
> **The goal of Phase 4 is to walk you through using GitHub Actions to get your code in a deployable state once your CI workflows have completed.**
1. Go to the `Artifact Publishing` [actions module](https://lab.github.com/githubtraining/github-actions:-publish-to-github-packages)
**In this phase, you’ll learn how to:**
- Describe CD and why it is necessary
- Use and customize a repository workflow
- Create CD workflows that matches the team's needs and behaviors
- Use the repository's source code to build artifacts and store them in the GitHub Packages
- Save repository build artifacts
- Access saved build artifacts
### Phase 6: Continuous Delivery
> **FINAL: The goal of Phase 6 is to create a deployment workflow using Azure.**
1. Go to the `Action Samples for deploying to Azure Web apps` [actions module](https://lab.github.com/githubtraining/github-actions:-continuous-delivery-with-azure)
2. Choose a sample app, and deploy it to Azure.
**In this phase, you’ll learn how to:**
- Create multiple workflows
- Configure Azure for deployment
- Use secrets to store tokens
- Deploy to staging and production
- Practice using GitHub Actions
### Additional Documentation
> **The goal of Phase 1 is to understand the major concepts that will be leveraged throughout the workshop. Documentation should be read carefully and referred to often.**
1. [All things GitHub](https://help.github.com/en/github)
1. [Understanding Actions](https://help.github.com/en/github/automating-your-workflow-with-github-actions/about-github-actions#core-concepts-for-github-actions)
1. [Creating a workflow](https://help.github.com/en/github/automating-your-workflow-with-github-actions/configuring-a-workflow)