153 أسطر
3.3 KiB
Markdown
153 أسطر
3.3 KiB
Markdown
---
|
||
marp: true
|
||
theme: default
|
||
footer: '@Chris_L_Ayers - https://chris-ayers.com'
|
||
style: |
|
||
.columns {
|
||
display: grid;
|
||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||
gap: 1rem;
|
||
}
|
||
.columns3 {
|
||
display: grid;
|
||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||
gap: 1rem;
|
||
}
|
||
@import 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css'
|
||
---
|
||
<!-- _footer: 'https://github.com/codebytes/github-actions-demos' -->
|
||
|
||
# CI/CD with GitHub Actions
|
||
|
||

|
||
|
||
---
|
||
|
||

|
||
|
||
## Chris Ayers
|
||
### Senior Customer Engineer<br>Microsoft
|
||
|
||
<i class="fa-brands fa-twitter"></i> Twitter: @Chris\_L\_Ayers
|
||
<i class="fa-brands fa-mastodon"></i> Mastodon: @Chrisayers@hachyderm.io
|
||
<i class="fa-brands fa-linkedin"></i> LinkedIn: - [chris\-l\-ayers](https://linkedin.com/in/chris-l-ayers/)
|
||
<i class="fa fa-window-maximize"></i> Blog: [https://chris-ayers\.com/](https://chris-ayers.com/)
|
||
<i class="fa-brands fa-github"></i> GitHub: [Codebytes](https://github.com/codebytes)
|
||
|
||
---
|
||

|
||
|
||
# Agenda
|
||
- YAML
|
||
- CI / CD
|
||
- Actions Overview
|
||
- Demos
|
||
|
||
---
|
||
|
||

|
||
|
||
<div class="columns">
|
||
<div>
|
||
|
||
# YAML
|
||
## **Yet Another Markup Language**
|
||
|
||
GitHub uses YAML for workflows
|
||
|
||
Demo: [Online Parser](https://yaml-online-parser.appspot.com/)
|
||
|
||
</div>
|
||
<div>
|
||
|
||
| Feature | Description |
|
||
| --- | --- |
|
||
| Lists | Start with a – |
|
||
| Key-Value | Key: value |
|
||
| Objects | Objects:<br>Properties of objects |
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
---
|
||
|
||

|
||
# What is CI/CD?
|
||
|
||

|
||
|
||
---
|
||
|
||

|
||
# Actions Overview
|
||
|
||
- Actions are Event Driven
|
||
- Live in the .github/workflows folder
|
||
- Workflows are defined in YAML
|
||
|
||
---
|
||
|
||

|
||
|
||
# Workflows
|
||
- [Events](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows) trigger workflows
|
||
- Workflows contain jobs
|
||
- Jobs contain steps
|
||
- Steps are commands or actions
|
||
|
||
---
|
||
|
||

|
||
# Jobs
|
||
- Workflows can contain multiple jobs
|
||
- Each job runs on a [Runner](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners)
|
||
|
||
---
|
||
|
||
# ACT
|
||
## Run Actions Locally
|
||
|
||
<i class="fa-brands fa-github"></i> [nektos/act](https://github.com/nektos/act)
|
||
|
||

|
||
|
||
---
|
||
|
||

|
||
# DEMOS
|
||
|
||
---
|
||
|
||
# Questions
|
||
|
||

|
||

|
||
|
||
---
|
||
|
||
# Resources
|
||
|
||
<div class="columns">
|
||
<div>
|
||
|
||
## Links
|
||
|
||
- [https://docs.github.com](https://docs.github.com)
|
||
- [https://skills.github.com](https://docs.github.com)
|
||
- [codebytes/github-actions-demos](https://github.com/codebytes/github-actions-demos)
|
||
</div>
|
||
<div>
|
||
|
||
## Follow Chris Ayers
|
||
|
||
<i class="fa-brands fa-twitter"></i> Twitter: @Chris\_L\_Ayers
|
||
<i class="fa-brands fa-mastodon"></i> Mastodon: @Chrisayers@hachyderm.io
|
||
<i class="fa-brands fa-linkedin"></i> LinkedIn: - [chris\-l\-ayers](https://linkedin.com/in/chris-l-ayers/)
|
||
<i class="fa fa-window-maximize"></i> Blog: [https://chris-ayers\.com/](https://chris-ayers.com/)
|
||
<i class="fa-brands fa-github"></i> GitHub: [Codebytes](https://github.com/codebytes)
|
||
|
||
</div>
|
||
|
||
</div>
|