Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wulfland/githubbootcamp

This is the repository for the GitHub Bootcamp Workshop.
https://github.com/wulfland/githubbootcamp

github training

Last synced: 27 days ago
JSON representation

This is the repository for the GitHub Bootcamp Workshop.

Awesome Lists containing this project

README

        

# GitHub Bootcamp - Workshop

Repo for the `GitHub Bootcamp` 1-day Workshop from @wulfland.

## 👉 Introduction

GitHub is more than just source control. It is a complete DevOps solution that can help you to accelerate your entire development process – from idea to production. In this practical boot camp, you’ll get to know all parts of GitHub and you’ll learn all tricks to get you an effective start.

The workshop is designed for developers that have used other platforms like Azure DevOps, GitLab, or Bitbucket and now want to switch to GitHub. But it is also suitable for people that are new to topics like git, CI/CD, and DevOps.

## Getting ready#

Edit

Please follow [these instructions](GettingReady.md) and make sure you have set up everything correctly following the [prerequisites](#-prerequisites).

## 📆 Agenda

### Part 1: 👥 Collaborate using GitHub

- [ ] Introduction to GitHub
- [ ] [GitHub flavored markdown](https://github.com/wulfland/AccelerateDevOps/issues/232)
- [ ] Collaborate using [GitHub Issues](https://github.com/wulfland/AccelerateDevOps/issues/436), [Discussions](https://github.com/wulfland/AccelerateDevOps/discussions), [Wikis](https://github.com/wulfland/AccelerateDevOps/wiki), and [Pages](https://wulfland.github.io/AccelerateDevOps/) ([source](https://github.com/wulfland/AccelerateDevOps/tree/main/docs))
- [ ] 🔨 Hands-on: [Collaboration using Issues, Discussions, and Pages](hol/01-Issues_Discussions_Pages.md)

### Part 2: 📊 Portfolio and project management

- [ ] Projects: Backlogs, Metadata, and Boards
- [ ] Workflows, Insights, and Charts
- [ ] 🔨 Hands-on: [The new GitHub issue/projects](hol/02-Projects.md)

### Part 3: 🤝 Collaborate on code

- [ ] Branching strategies and git workflows like GitHub flow
- [Git flow](https://nvie.com/posts/a-successful-git-branching-model/)
- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow)
- [MyFlow](https://writeabout.net/2021/12/21/myflow-a-successful-git-branching-model-for-devops-teams/)
- [ ] [Code owners](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) and [branch protection](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches) (demo)
- [ ] 🔨 Hands-on: [Collaborate on code](hol/03-Collaborate-on-code.md)
- [ ] 🔨 Hands-on: [Review code](hol/04-Review-code.md)

### Part 4: 🚀 CI/CD and automation

- [ ] Introduction to GitHub Actions workflows and YAML
- [ ] 🔨 Hands-on: [My first Action workflow](hol/05-My-first-workflow.md)
- [ ] Types of GitHub Actions
- [ ] 🔨 Hands-on: [My first container Action](hol/06-My-first-action.md)
- [ ] Staged deployments with environments, approvals, and deployment gates
- [ ] 🔨 Hands-on: [Staged deployments](hol/07-Staged-deployments.md)
- [ ] GitHub Packages and GitHub Releases

### Optional hands-on labs
If time permits you can do the following two more exercises to learn to deploy packages and containers to GitHub packages:
- [ ] 🔨 Hands-on: [Creating and publishing a docker image to ghcr.io](hol/08-Publish-docker-to-ghcr.md)
- [ ] 🔨 Hands-on: [Creating and publishing an npm package](hol/09-Publishing-npm-package.md)

If you have an account for a cloud provider you can do one of these hands-on labs to deploy an application to the cloud:
- [ ] 🔨 Hands-on: [Deploy to Azure App Service](https://github.com/wulfland/AccelerateDevOps/blob/main/ch9_release/Deploy_to_Azure_App_Service.md)
- [ ] 🔨 Hands-on: [Deploy to AWS Elastic Container Service (ECS)](https://github.com/wulfland/AccelerateDevOps/blob/main/ch9_release/Deploy_to_AWS_ECS.md)
- [ ] 🔨 Hands-on: [Deploy to Google Kubernetes Engine (GKE)](https://github.com/wulfland/AccelerateDevOps/blob/main/ch9_release/Deploy_to_GKE.md)

## ⚡ Prerequisites

The workshop is designed for developers that have used other platforms like Azure DevOps, GitLab, or Bitbucket and now want to switch to GitHub. But it is also suitable for people that are new to topics like git, CI/CD, and DevOps.

For this workshop you need the following:

- A laptop (Windows, Mac, or Linux)
- A free account for https://github.com
- A text editor of choice (Visual Studio Code, VIM, Atom, Notepad++, or similar)
- Git in a current version (>2.23, on Windows with Git-Bash for beginners)