Continuous Integration in C++

  Рет қаралды 82,721

The Cherno

The Cherno

Күн бұрын

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.

Пікірлер: 143
@IsaacAsante17
@IsaacAsante17 4 жыл бұрын
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
@antoniocs8873 4 жыл бұрын
And he also did it in 6m no 14m+
@IsaacAsante17
@IsaacAsante17 4 жыл бұрын
@@antoniocs8873 short and sweet
@WillFaustCuber
@WillFaustCuber 4 жыл бұрын
@@antoniocs8873 14nm+++++++++++^2
@nextlifeonearth
@nextlifeonearth 4 жыл бұрын
And we didn't have to decipher an Indian accent. Total win.
@zes3813
@zes3813 2 жыл бұрын
wrrr
@Fobber92
@Fobber92 4 жыл бұрын
"My family will starve" 😂
@nexovec
@nexovec 4 жыл бұрын
AAAwesoooome!!
@SaifUlIslam-db1nu
@SaifUlIslam-db1nu 4 жыл бұрын
I laughed really hard at that! :D
@wutoby1052
@wutoby1052 4 жыл бұрын
HAHAHAHAHHA
@zes3813
@zes3813 2 жыл бұрын
@@SaifUlIslam-db1nu wrrrrr
@ryusaki6902
@ryusaki6902 4 жыл бұрын
the 𝘈𝘸𝘦𝘴𝘰𝘖𝘰𝘖𝘰𝘮𝘦 was actually a jump scare
@TheChondriac
@TheChondriac 4 жыл бұрын
Thought this was gonna be a calculus tutorial in c++ haha
@EmbeddedSorcery
@EmbeddedSorcery 4 жыл бұрын
He should totally do a video on integrator wind up.
@davinonnenmacher5355
@davinonnenmacher5355 4 жыл бұрын
Me too
@applejuice1496
@applejuice1496 4 жыл бұрын
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
@pivotal-ai
@pivotal-ai 4 жыл бұрын
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.
@267praveen
@267praveen 4 жыл бұрын
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
@RiverBeard 3 жыл бұрын
can we write our own c++ program to interact with other applications on our machine?
@RiverBeard
@RiverBeard 3 жыл бұрын
@ThePrivateJoker no im just new to c++
@RiverBeard
@RiverBeard 3 жыл бұрын
@ThePrivateJoker Thank you for the bool answer and thank you for the keywords! you make my life easier
@davibergamin5943
@davibergamin5943 2 жыл бұрын
@@RiverBeard the guy deleted the comments, what are the keywords?
@RiverBeard
@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
@sandipan17
@sandipan17 4 жыл бұрын
Was waiting for this video from Cherno... Thank you Cherno!
@davidrubio.24
@davidrubio.24 2 жыл бұрын
I love the fact that that you talk about everything that's involved in C++ programing.
@mario_luis_dev
@mario_luis_dev 2 жыл бұрын
The CI/CD workflow is just amazing
@nsmkhn
@nsmkhn 4 жыл бұрын
Awesome video! Thank you Cherno!
@mazirius11
@mazirius11 4 жыл бұрын
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!
@gauravawasthi7692
@gauravawasthi7692 Жыл бұрын
my fav POC for all sort of IT doubts... bravo buddy for enlightening us :) .. hats off to your efforts !!!
@ShivamJha00
@ShivamJha00 4 жыл бұрын
Awesome. Would you be make video on your game engine series adding jenkins support to it?
@Qualk9000
@Qualk9000 4 жыл бұрын
Great video! Love the “awesoooooooooome”
@_Ani_
@_Ani_ 4 жыл бұрын
10:14 A unique voice waiting for you
@GlassHouseAdventures
@GlassHouseAdventures 4 жыл бұрын
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!
@gvcallen
@gvcallen 4 жыл бұрын
Please do a video on iterators!
@tm_digita
@tm_digita 4 жыл бұрын
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.
@RobGirdler
@RobGirdler 4 жыл бұрын
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.
@TheRoy714
@TheRoy714 4 жыл бұрын
Awesome tutorial!
@badrbellaj
@badrbellaj 4 жыл бұрын
Free* travis is another option to explore for CI. (
@CViniciusSDias
@CViniciusSDias 3 жыл бұрын
It would be awesome to have videos about tools like make, cmake, etc
@meltpoolmartin772
@meltpoolmartin772 4 жыл бұрын
Great video for an introduction into C++ and CI 👏
@thebarylowi
@thebarylowi 4 жыл бұрын
I hope in the future will be more videos like this (I mean on similar subject) :)
@ycombinator765
@ycombinator765 Жыл бұрын
I absolutely love it!!!
@chris27011986
@chris27011986 2 жыл бұрын
Awesome description
@joshperry9468
@joshperry9468 4 жыл бұрын
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.
@jeromeclintonjustin895
@jeromeclintonjustin895 2 жыл бұрын
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?
@WellItsHarsh
@WellItsHarsh 3 ай бұрын
2:52 "Otherwise My family is going to starve" Yeh that's some contextual humour 😂
@princekm5902
@princekm5902 2 жыл бұрын
You deserve more subscribers.
@OnePiece-fy2kt
@OnePiece-fy2kt 4 жыл бұрын
You know you're living C++ life, when you use expression "You dump something down to its core".
@StefanHendriks
@StefanHendriks 3 жыл бұрын
If you're adding your own github-webhook, make sure to add the trailing slash in the url. Else you will get a 302.
@marbangens
@marbangens 4 жыл бұрын
My personal C++ psychologist
@amrwael4990
@amrwael4990 4 жыл бұрын
Maybe talk about friend classes and functions , and abstract classes ?
@junxiheng4039
@junxiheng4039 4 жыл бұрын
Awesome~~~
@muhammadaamirzaman
@muhammadaamirzaman 4 жыл бұрын
Amazing
@RagTagPwner
@RagTagPwner Жыл бұрын
I wasn't expecting to hear that EA uses Jenkins. Used that in a Java shop at a bank I worked for.
@a_alhadhrami
@a_alhadhrami 2 жыл бұрын
Is it possible to show how this can be done in conjunction with writing tests please?
@yekna459
@yekna459 4 жыл бұрын
You forgot to link Jenkins in the description
@NskLabs
@NskLabs 2 жыл бұрын
And here I was expecting to see some analog C++ computation.
@SeanForeman
@SeanForeman 4 жыл бұрын
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.
@ermakamre
@ermakamre 4 жыл бұрын
How about CI for C++ on Windows or Mac with third-party dependencies like boost and Qt?
@lordmushroom723
@lordmushroom723 4 жыл бұрын
imagine having an abstraction over aws/azure
@FreeDomSy-nk9ue
@FreeDomSy-nk9ue 4 жыл бұрын
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?
@42mix22
@42mix22 4 жыл бұрын
Right after I needed it
@42mix22
@42mix22 4 жыл бұрын
Thanks tho, absolutely great video
@amrwael4990
@amrwael4990 4 жыл бұрын
Me : I'm gonna fail my C++ class The Cherno : *No I don't think you will*
@ayush.kumar.13907
@ayush.kumar.13907 4 жыл бұрын
when he says linode, it sounds like he is saying Leonard
@sirynka
@sirynka 4 жыл бұрын
2:52 otherwise my family is going to starve.
@graceoverall
@graceoverall 2 жыл бұрын
What about using containers to build and run instead of Linode. Like CI in Docker or something?
@fxexile
@fxexile 2 жыл бұрын
i want to see differentiation as well
@burakbash
@burakbash 4 жыл бұрын
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.
@aradhayaarora6155
@aradhayaarora6155 3 жыл бұрын
Please make a video on complicated Regex
@retroryuu7254
@retroryuu7254 4 жыл бұрын
ugh... had to set this up with azure yesterday, damn u job
@nextlifeonearth
@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
@retroryuu7254 4 жыл бұрын
@@nextlifeonearth not for VueJS project auto build and build transfer over FTP to the production server xD
@nextlifeonearth
@nextlifeonearth 4 жыл бұрын
@@retroryuu7254 Then why isn't the production server on Azure as well? Silly job constraints always.
@retroryuu7254
@retroryuu7254 4 жыл бұрын
@@nextlifeonearth what i told them... xD
@MultiWiff
@MultiWiff 3 жыл бұрын
What is the music being played in this video?
@chakibchemso
@chakibchemso 4 жыл бұрын
and what d u mean by cherno++ in the thumbnail ;)
@kapilverma2668
@kapilverma2668 4 жыл бұрын
Please make a video on CI on Windows and MSVC.
@coder2k
@coder2k 4 жыл бұрын
This! +1
@kirasmith1147
@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
@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
@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
@Stefan-tw3fo
@Stefan-tw3fo 4 жыл бұрын
Have you heard of Jonathan Blow's Jai programming language project ? Pretty interesting stuff imo
@nextlifeonearth
@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.
@chakibchemso
@chakibchemso 4 жыл бұрын
hey thx mat for the video but can u cover topics abt C# its also a great language! thx again
@toxicore1190
@toxicore1190 4 жыл бұрын
lol, I just did this yesterday for my GitLab
@milo20060
@milo20060 2 жыл бұрын
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
@MaraisRossouw
@MaraisRossouw 4 жыл бұрын
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 :)
@wang_7665
@wang_7665 Жыл бұрын
Github now supports CI/CD as well. How fast things changed!
@foxvulpes8245
@foxvulpes8245 4 жыл бұрын
Any better ideas on getting vs2017 code to compile via Jenkins on a linux box?
@stevenvanharen
@stevenvanharen 4 жыл бұрын
Fox Vulpes Use cmake
@foxvulpes8245
@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
@stevenvanharen 4 жыл бұрын
@@foxvulpes8245 Ah ok, in that case use mingw
@AhmadHassan-ey6hp
@AhmadHassan-ey6hp 4 жыл бұрын
Bro can you please make a video on rest(...) parameter 😢
@ghazaleftekharian9349
@ghazaleftekharian9349 4 жыл бұрын
I love your tutorials . best C++ course ever. Please do python tutorials as well
@detectiveinspekta
@detectiveinspekta 4 жыл бұрын
I'm still at a stage of writing one line of code and compiling. :(
@Caellyan
@Caellyan 3 жыл бұрын
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.
@maximilianoraulmalvicino4844
@maximilianoraulmalvicino4844 10 ай бұрын
10:14 awesooome!
@sirenti9384
@sirenti9384 4 жыл бұрын
Why am I getting the notification 2 minutes later and not at Upload time :(
@BDYH-ey8kd
@BDYH-ey8kd 4 жыл бұрын
Wish this could be done in embedded systems :/
@Okieah
@Okieah 4 жыл бұрын
Cherno tutz for callback function please and MACRO callback
@jacob_90s
@jacob_90s 4 жыл бұрын
Last time I was this early we were still using B
@surferriness
@surferriness 3 жыл бұрын
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
@BosakMaw
@BosakMaw 4 жыл бұрын
do you work for Epic now?
@yashjoshi
@yashjoshi 3 жыл бұрын
"so here we have a repository inside a butt.." wait what?!!
@user-gl9yo8rz8k
@user-gl9yo8rz8k 4 жыл бұрын
Yan Chernikov. Name looks like from Eastern Europe or ex-USSR. What is your native language?
@OmarChida
@OmarChida 4 жыл бұрын
He is from Ukraine
@EnkoVlog
@EnkoVlog 4 жыл бұрын
​@@OmarChida I don't think so. Maybe his parents, but not he. Definitely his native language is English.
@luaking84
@luaking84 3 жыл бұрын
+1 for A++
@atrumluminarium
@atrumluminarium 4 жыл бұрын
So it's like version-control on steroids? Right?
@APaleDot
@APaleDot 4 жыл бұрын
Nah, it's just an automated build system that runs every time you commit to version control.
@meto4545
@meto4545 Жыл бұрын
1:53
@englishmotherfucker1058
@englishmotherfucker1058 4 жыл бұрын
I thought this was about calculus well fuck
@NathanHedglin
@NathanHedglin Жыл бұрын
😂
@andrewfielden284
@andrewfielden284 4 жыл бұрын
A developer committing code without first compiling it should be shot :)
@psychotrout
@psychotrout 3 жыл бұрын
If you submit code and you did not even took the time to compile it you should be arrested.
@xxtghxx
@xxtghxx 4 жыл бұрын
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.
@yashsaxena9
@yashsaxena9 4 жыл бұрын
Please make a Java series Tooo.... Like your c++ series!!!
@zes3813
@zes3813 2 жыл бұрын
no such thing as sorryx about it, voice any nmw and any s perfx, doesnt matter
@mohamadmansoor3933
@mohamadmansoor3933 2 жыл бұрын
bugs maybe sometimes logical. Not a code not functional not hardware specific but it was logically implemented wrong functionality. Keep it up man.
@platinoob__2495
@platinoob__2495 4 жыл бұрын
3:05 EA, Electronic Arts, is this where you work, are you behind all the things people is blaming EA?(joking not blaming)
@valizeth4073
@valizeth4073 4 жыл бұрын
IIRC he quit his work on EA.
Static Analysis in C++
14:35
The Cherno
Рет қаралды 77 М.
Should I pass by const reference or by value?
10:45
The Cherno
Рет қаралды 99 М.
The joker's house has been invaded by a pseudo-human#joker #shorts
00:39
Untitled Joker
Рет қаралды 10 МЛН
MEGA BOXES ARE BACK!!!
08:53
Brawl Stars
Рет қаралды 33 МЛН
Haha😂 Power💪 #trending #funny #viral #shorts
00:18
Reaction Station TV
Рет қаралды 14 МЛН
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 86 МЛН
Programming Languages I used at Google (C++ rant)
6:14
NeetCodeIO
Рет қаралды 60 М.
Precompiled Headers in C++
21:30
The Cherno
Рет қаралды 152 М.
Stack vs Heap Memory in C++
19:31
The Cherno
Рет қаралды 554 М.
GCAP 2016: Parallel Game Engine Design - Brooke Hodgman
1:03:56
Golang is OG?
5:16
Martin Baun
Рет қаралды 5 М.
How to Properly Setup C++ Projects
32:46
The Cherno
Рет қаралды 95 М.
Jenkins №4. Первый pipeline
13:00
Kirill Semaev
Рет қаралды 67 М.
Type Punning in C++
13:20
The Cherno
Рет қаралды 154 М.
The joker's house has been invaded by a pseudo-human#joker #shorts
00:39
Untitled Joker
Рет қаралды 10 МЛН