Continuous Integration in C++
Give Linode a try now - Sign up using my link to get $20 of free credit ► linode.com/cherno
Patreon ► / thecherno
Instagram ► / thecherno
Twitter ► / thecherno
Discord ► thecherno.com/discord
Series Playlist ► thecherno.com/cpp
This video is sponsored by Linode.
Пікірлер: 145
It's literally the first time I'm seeing a quality instructor cover that topic in C++. Cherno's definitely the best guy to educate us on it.
@antoniocs8873
4 жыл бұрын
And he also did it in 6m no 14m+
@IsaacAsante17
4 жыл бұрын
@@antoniocs8873 short and sweet
@WillFaustCuber
4 жыл бұрын
@@antoniocs8873 14nm+++++++++++^2
@nextlifeonearth
4 жыл бұрын
And we didn't have to decipher an Indian accent. Total win.
@zes3813
2 жыл бұрын
wrrr
"My family will starve" 😂
@nexovec
4 жыл бұрын
AAAwesoooome!!
@SaifUlIslam-db1nu
4 жыл бұрын
I laughed really hard at that! :D
@wutoby1052
3 жыл бұрын
HAHAHAHAHHA
@zes3813
2 жыл бұрын
@@SaifUlIslam-db1nu wrrrrr
the 𝘈𝘸𝘦𝘴𝘰𝘖𝘰𝘖𝘰𝘮𝘦 was actually a jump scare
Thought this was gonna be a calculus tutorial in c++ haha
@EmbeddedSorcery
4 жыл бұрын
He should totally do a video on integrator wind up.
@davinonnenmacher5355
4 жыл бұрын
Me too
Jenkins is an automation tool for builds. Continuous Integration is about taking separate code changes and integrating them together to see how well they play. This is basically testing the complete picture with your code merged in. Jenkins provides automation ability through a server that triggers based off of configured web hooks. These hooks can be applied to a git repository to automatically trigger integration builds and tests.
Few more topics request a) Move Semantics b) Std::future c) Regex d) random generator f) Jenkins g) Docker h) maven I) make TIA
@RiverBeard
3 жыл бұрын
can we write our own c++ program to interact with other applications on our machine?
@RiverBeard
3 жыл бұрын
@ThePrivateJoker no im just new to c++
@RiverBeard
3 жыл бұрын
@ThePrivateJoker Thank you for the bool answer and thank you for the keywords! you make my life easier
@davibergamin5943
2 жыл бұрын
@@RiverBeard the guy deleted the comments, what are the keywords?
@RiverBeard
2 жыл бұрын
@@davibergamin5943 I totally don't even remember, I might have been looking for the right terms to google or something like that? uggg. I recently found someone automate his mouse controls to c++ and find a memory map for some applications, which might be enough for my desired intentions if i ever get around to it. so sorry for lack of helpfulness
I just stumbled upon this channel when I was trying to learn constructors because I struggle with learning from my instructor. Looking forward to watching the whole series! Will update every now and then
2:52 "Otherwise My family is going to starve" Yeh that's some contextual humour 😂
Hi, great to see some quality material on good practices using C++. Have you thought about doing more videos regarding DevOps stuff in C++? Jason Turner over at C++ Weekly did some videos on those topics, but I find your presentation abilities far better. It would be great to see a video series from you on good, modern project setup using unit tests, dependencies managers (preferably Conan), CI and maybe even CD. Keep up the good work and stay healthy! Greetings from Poland!
10:14 A unique voice waiting for you
Was waiting for this video from Cherno... Thank you Cherno!
my fav POC for all sort of IT doubts... bravo buddy for enlightening us :) .. hats off to your efforts !!!
Awesome video! Thank you Cherno!
I love the fact that that you talk about everything that's involved in C++ programing.
The CI/CD workflow is just amazing
Literally been using jenkins for awhile now. I think this was a really good short intro into jenkins! I also use linode and never knew about the jenkins server option!
Great video! Love the “awesoooooooooome”
Please do a video on iterators!
Thank you for yet another fantastic and informative video. Could I ask, if you are planning on bringing Continuous Integration to the Hazel Engine series? I, and I suspect many other people, would be interested to learn more about how to use C.I. on a larger project where libraries and other dependencies come into play. I also have never got my head around how to use C.I. with applications that are not designed to just give a console output. I am working on a simple engine based around SDL and while I understand C.I. enough to be able to form a build pipeline, I have never understood how to get create a test one, other than something that simply looks for an exit code, either success or failure. Many thanks for all the videos you create, keep up the great work and please keep yourself and family safe during these times.
Awesome. Would you be make video on your game engine series adding jenkins support to it?
Very easy to follow and learn videos @The Cherno. Thanks for all this. I would like to request if you can make one video about C++ copy and assignment difference . It confuses a lot of people including me. Thanks in advance.
Congrats on 200k subs. Deserved - this is a fantastic C++ series. Q: Could you do a couple videos on design paradigms, program architecture? More abstract than empirical cases of how C++ works. Error handling philosophy would be a good subject example.
I hope in the future will be more videos like this (I mean on similar subject) :)
Free* travis is another option to explore for CI. (
Awesome tutorial!
Great video for an introduction into C++ and CI 👏
Awesome description
It would be awesome to have videos about tools like make, cmake, etc
I absolutely love it!!!
Awesome video as usual man! Can you please do a similar video when you have a bigger project with third-party source code that must be built to create DLL and also static linking is necessary?
You deserve more subscribers.
If you're adding your own github-webhook, make sure to add the trailing slash in the url. Else you will get a 302.
Does it have to be on a server? If I am working on my own project that runs on multiple platforms, can't I just do the tests on my local PC?
My personal C++ psychologist
2:52 otherwise my family is going to starve.
I wasn't expecting to hear that EA uses Jenkins. Used that in a Java shop at a bank I worked for.
You know you're living C++ life, when you use expression "You dump something down to its core".
I worked at a healthcare dev shop with automated tests to prevent merges without tests passing and x% code coverage with tests. All of these tests make perfect sense and are easy to implement because the business case is either simulating clicking on web pages or backend tests. When you have a robust test framework with 95%+ code coverage you can sleep well at night as you make changes. I honestly do not know how to test something visually in 3D to make sure it "looks" right. Did you break the 24 hour cycle lighting/weather/ambient sound? How do you test that? I would really like to hear how this is handled in large game dev shops. If you change a framework and all non-visual tests pass, this is no guarantee you have not broken your game in a significant way. This currently forces me to put my game in a variety of test scenarios eyeballing everything to make sure it is fine which is time consuming.
Me : I'm gonna fail my C++ class The Cherno : *No I don't think you will*
And here I was expecting to see some analog C++ computation.
What is the music being played in this video?
How about CI for C++ on Windows or Mac with third-party dependencies like boost and Qt?
What about using containers to build and run instead of Linode. Like CI in Docker or something?
Just a note for you mate; if you chmod +x that build file, and then push to git - git stores file flags. So that step isn't needed :)
Is it possible to show how this can be done in conjunction with writing tests please?
Any better ideas on getting vs2017 code to compile via Jenkins on a linux box?
@stevenvanharen
4 жыл бұрын
Fox Vulpes Use cmake
@foxvulpes8245
4 жыл бұрын
@@stevenvanharen Cmake lets you make "projects" for different platforms, but I want to compile a .dll for a windows based application natively in linux. I don't want to go the VM route. I would accept compiling the whole application in linux as well. Just seems no way to... Like how you can coompile applications for linux in MS Visual studio, but in reverse.
@stevenvanharen
4 жыл бұрын
@@foxvulpes8245 Ah ok, in that case use mingw
Maybe talk about friend classes and functions , and abstract classes ?
Github now supports CI/CD as well. How fast things changed!
Muhaha. I still remember my last game engine project our CI/CD Pipeline never worked fully coz the runner is linux based and we all working from windows PCs. Teachers were like joking "Well it works on my pc" :D
Right after I needed it
@42mix22
4 жыл бұрын
Thanks tho, absolutely great video
ugh... had to set this up with azure yesterday, damn u job
@nextlifeonearth
4 жыл бұрын
Azure is fine for that. Only installing it requires an extra step of adding an SSH key. Then on it's the same pretty much.
@retroryuu7254
4 жыл бұрын
@@nextlifeonearth not for VueJS project auto build and build transfer over FTP to the production server xD
@nextlifeonearth
4 жыл бұрын
@@retroryuu7254 Then why isn't the production server on Azure as well? Silly job constraints always.
@retroryuu7254
4 жыл бұрын
@@nextlifeonearth what i told them... xD
I know it is out of topic but could u please make a video about CLI? Because when I want to write a Form Application in Visual Studio, I need to deal with CLI and handling operator. So this makes essential C++ things useless such as Dynamic Memory Allocation, pointers and etc.
lol, I just did this yesterday for my GitLab
Please make a video on CI on Windows and MSVC.
@coder2k
4 жыл бұрын
This! +1
@kirasmith1147
4 жыл бұрын
It's not that different, you just setup your jenkins file to use MSVC to compile instead, and use windows version of all the shell commands obviously.
@stevenvanharen
4 жыл бұрын
I am developing on windows, but run my CI on Linux. Use cmake to make your project compile and run on windows and Linux. I started of trying to run CI on windows. Switched to Linux for CI because of the huge docker containers that would be required for windows CI.
@angela_jx
3 жыл бұрын
I know this is late and I will say I haven’t tried this out myself but using something like wsl might be a good solution for you
and what d u mean by cherno++ in the thumbnail ;)
Amazing
Awesome~~~
imagine having an abstraction over aws/azure
when he says linode, it sounds like he is saying Leonard
10:14 awesooome!
You forgot to link Jenkins in the description
hey thx mat for the video but can u cover topics abt C# its also a great language! thx again
What you're describing is build automation, not CI. CI requires developers to keep master up date instead of using branches lasting more than a day.
Please make a video on complicated Regex
do you work for Epic now?
i want to see differentiation as well
Have you heard of Jonathan Blow's Jai programming language project ? Pretty interesting stuff imo
@nextlifeonearth
4 жыл бұрын
Yes, but none of it is public jet and the spec is still far from frozen. I don't think we should consider it until he finishes the game he's working on, freezes the 1.0 spec and makes it public. Until then you should look elsewhere. You could try Odin, which has similar design features, but is already public. It's less thought out though.
Bro can you please make a video on rest(...) parameter 😢
Last time I was this early we were still using B
I love your tutorials . best C++ course ever. Please do python tutorials as well
lel I thought this would be about good ol' ∫ _f(x)_ _dx_ as opposed to _lim_ _deltaX_ -> 0 Σ _f(x)_ _delX_ dude why tf didn't I just write *discrete* EDIT: didn't even bother to make sure _deltaX_ stays _deltaX_ EDIT 2: wait the "as opppsed to" part doesn't even really make sense wtf
I'm still at a stage of writing one line of code and compiling. :(
Cherno tutz for callback function please and MACRO callback
Wish this could be done in embedded systems :/
Why am I getting the notification 2 minutes later and not at Upload time :(
+1 for A++
I thought this was about calculus well fuck
@NathanHedglin
Жыл бұрын
😂
"so here we have a repository inside a butt.." wait what?!!
no such thing as sorryx about it, voice any nmw and any s perfx, doesnt matter
Yan Chernikov. Name looks like from Eastern Europe or ex-USSR. What is your native language?
@OmarChida
4 жыл бұрын
He is from Ukraine
@EnkoVlog
4 жыл бұрын
@@OmarChida I don't think so. Maybe his parents, but not he. Definitely his native language is English.
Well Cherno is one of the best and i love all his videos. But don't get Linode, if you have no Credit Card. You need one ... You will just get spam E-Mails, that's all. And for all ... hey than get a credit card .... guys. Shut up, that are 40-60 Euro/Dollars. And sry for my bad English.
If you submit code and you did not even took the time to compile it you should be arrested.
So it's like version-control on steroids? Right?
@APaleDot
4 жыл бұрын
Nah, it's just an automated build system that runs every time you commit to version control.
A developer committing code without first compiling it should be shot :)
1:53
bugs maybe sometimes logical. Not a code not functional not hardware specific but it was logically implemented wrong functionality. Keep it up man.
Please make a Java series Tooo.... Like your c++ series!!!
first!
@theairaccumulator7144
4 жыл бұрын
yay
3:05 EA, Electronic Arts, is this where you work, are you behind all the things people is blaming EA?(joking not blaming)
@valizeth4073
4 жыл бұрын
IIRC he quit his work on EA.