How To Setup Github Actions For CI/CD
Вставка
- Опубліковано 23 лип 2024
- Automating your CI/CD workflow just got easier with GitHub Actions. In this video, you'll learn how to set them up and find out how Pulumi's technology can help make the process faster and more efficient.
⚬ GitHub: github.com/ArjanCodes/2022-cicd
⚬ Pulumi: www.pulumi.com/?...
⚬ Pulumi template I used: www.pulumi.com/templates/serv...
🎓 Courses:
The Software Designer Mindset: www.arjancodes.com/mindset
The Software Designer Mindset Team Packages: www.arjancodes.com/sas
The Software Architect Mindset: Pre-register now! www.arjancodes.com/architect
Next Level Python: Become a Python Expert: www.arjancodes.com/next-level...
The 30-Day Design Challenge: www.arjancodes.com/30ddc
🛒 GEAR & RECOMMENDED BOOKS: kit.co/arjancodes.
👍 If you enjoyed this content, give this video a like. If you want to watch more of my upcoming videos, consider subscribing to my channel!
💬 Discord: discord.arjan.codes
🐦Twitter: / arjancodes
🌍LinkedIn: / arjancodes
🕵Facebook: / arjancodes
📱Instagram: / arjancodes
👀 Code reviewers:
- Yoriz
- Ryan Laursen
- James Dooley
- Dale Hagglund
🎥 Video edited by Mark Bacskai: / bacskaimark
🔖 Chapters:
0:00 Intro
1:07 Pulumi’s technology
2:17 Example explanation
4:51 What is CI/CD?
7:47 CI/CD pipeline
8:12 GitHub Actions
8:40 Test setup
11:39 Continuous deployment workflow file
12:44 GitHub Secrets
14:00 Pulumi workflow file
14:52 Pulumi templates
19:54 Final thoughts
#arjancodes #softwaredesign #python
DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!
I did my thesis on CI/CD. The two books (Continuous Integration by Paul Duvall, and Continuous Delivery by Jez Humble) were a great help to deeply understand what's what. The CI book is somewhat outdated and is only interesting for historical purposes. The CD book still holds up (though we have Jenkins instead of Hudson, nowadays).
It won't teach you any specific tool, unless you get cracking and actually try to install one, but the deeper understanding helped.
Great Video as always, thank you Arjan!
Thank you, glad you liked the video!
Nice, I've literslly just done that!
Thank you. Please 🙏 can you make in the future a video about local runner for windows? Thank you
Gooood
Hey! How do you tackle long term statistics for github actions workflows? I'd like to see how my workflows perform over time...
Nice
Thank you, glad you liked it!
Thanks!
Thank you so much!
How can you make it so that the python and requirements installation only run when there are changes to it and not everytime you want to test? …would you create a workflow with just the testing part?
It's actually crucial to reinstall everything on each workflow run because the pipeline will give you the confidence that the installation procedure still works. You don't want to end up with a cached pipeline that stopped working several months ago without you noticing. And now that your build server went down, you have to run the procedure on another server where the procedure doesn't work which means you're out of business, cannot ship any hot-fixes for severe bugs or security holes, etc.
You want to automate every step from launching a fresh build machine, installing the compiler, downloading the source code, compiling / linting / testing up to finally dropping a releasable product. CI/CD is about keeping the whole procedure up-to-date such that you don't depend on specific machines or hardware.
And a practical tip: You don't need to care about the hardware too much. GitHub workflows grants several thousand free hours of compute per month to every publicly available repository. You'll hardly ever exceed that limit with any small to mid size project. So, it's not your hardware that will suffer from reinstalling stuff all the time.
warning intro starts with a dad joke
Too long sometimes too boring