 So, yeah, my talk for today is about automating WordPress development with CircleCI. So, just a question, does anyone do CI CD by any chance? Okay, wala. So, yeah, anyway, yeah. So, a guide to continuous development and integration. So, yeah, about me, I'm Jim Rodriguez. I'm a Drupal developer at Globe Telecom. Yeah, Drupal is the counterpart of WordPress, my bad. Okay, I'm also the co-founder of DevCon Illuilo. Okay, and I've been in the tech industry for almost 10, 12 years already. Okay, and, yeah, I've used various techs already and I want to make my lives easier. So, another question is, how many of you are devs here? Okay, only see a handful. Okay, so most of you, I guess, are doing manual stuff if I'm not mistaken. Correct? You do automate stuff? Okay, sige. So, what is CircleCI? Okay, CircleCI is a continuous integration and continuous delivery platform that can be used to implement DevOps principles. Okay, so I think sa mga devs jyan, most of you are already familiar with DevOps and maybe you're using it in your work. Okay? So sa akin yun nang ginagamit ko for my work and I do automate it and I don't want to do manual work. Okay, kasi nakakapagod magmanual work. Okay, pagsinabing manual work, you do the testing, chachak mo yung mga standardization and stuff like that. So, most probably, if your company is strict, so you have test and standardization at some point. Okay? So, yeah, CircleCI helps the development teams to release co-japidly and automate the build, test, and deploy. Okay? So, later on magademo ko kung how fast it would be using CircleCI. Okay? Pero that would depend, okay? So, yeah, how does it work? Okay. So, usually, CircleCI, you would need to connect your CircleCI to your Git, GitHub, GitLab, GitLab Runner account. Okay? Once you integrate them ready, okay? You create a new pipeline for that certain project. Okay? It's super-easy kasi nga pag-crate mo ng account, mibigyan ka ng listahan ng organizations, and then from that organizations, you choose the repo. Okay? And then from there, nakasetap na siya. Okay? So, here, after that, when you create a new pipeline, you deploy, okay? You have a certain workflow, okay, on your config, and you either execute it to do some tests, okay, a series of testing, or you could execute it to deploy on your servers. Okay? Actually, yeah, you can do that, okay? Next is, how do I start with CircleCI? Yeah, go to the website, circleCI.com, to create an account, okay? And then, yeah, like I said earlier, link your projects, okay, and all you need is a config.yml, okay? What is that, okay? It's a series of sequential instructions. You pass to CircleCI that you want it to be executed, okay? This can be deployment scripts, test scripts, update scripts, and building scripts, and so on. Kuwano yung gusto mo yung lagay? Okay? So, yeah. Next is, we're gonna do a bit of example. So ito siya. I'm not sure if kita siya, it's just a screenshot, okay? So first, you would just need to create, once you've done the first steps earlier, next thing you're gonna do is you're gonna create a folder, that CircleCI, on your repo folder, okay? And then, you add the config.yml on that folder, okay? So, most probably ito yung mukha ng config.yml, okay? It's a series of instructions, pero meron siyang pattern na kila mo lang gaya hen and implement on your environment, okay? So ito example niya, teka. So here I have a pipeline of the WordPress demo I just created last night, okay? And run a couple of series of tests, okay? So initial test niya would fail because you just added it, then you just need to add your scripts at some point, okay? So ito, so let's say I'm gonna do an update on the config file, okay? And then let's try to push it. So, yeah, this would need internet connection. So kung walang internet connection, di siya magpupush dun sa repo niya. So, yeah, it's still not pushed. So, yeah, so yung mangyayari dyan, dito sa background ito, may lalabas na bagong row. So kung magbliss internet mo, yeah, it's gonna create a new row here and it's just gonna, it's just running. Okay, once it runs, it will tell you, apang completion kung natapos na yung buong test, it's gonna tell you it's either you have a successful build or a failed build, okay? So ito example niya ng jobs na niran, okay? So first, it's gonna spin up an environment. So ikaw mamimili ng environment mo. Okay, when I'm in the environment is what OS, what browser is gonna use at some point for testing, okay? Yeah, then there, then it's gonna check out yung code and these are the two tests I created. Okay, since it passed kasi ano lang nilay ko basic lang dun. So, pumasa siya. Okay, and then from there, you can either deploy it manually or deploy it automatically, yeah, you can just automate it by a get pull at some point, okay? So ito naman, may or knock example. Okay, hindi pa siya nang push. This is one of my oldest projects. Bukhaya pre-en siya nga ngayon. So, yeah, I destroyed some of it. So, yeah, so when I mean by destroyed, minalay ko lang files para malamang karon ng error at some point, okay? So ito yung isang test niya. So I run a CDF to controllers and it detect errors total of seven errors in a file. So it will inform me that the build would fail. Okay, once it's failed, it's not good for production usage. Okay, so kailangan siyang babalik sayo may defect and you need to fix that at some point. Okay? So, yeah, that's how very useful yung kintor, especially if you're running thousands of tests. Okay? Yeah, next is... So, yeah, why do we need it? For me, I've been working with a lot of projects, so gusto ko isimplify yung traba ako and yung buhay ko. What I'm very simplified is when I just push, it does everything right away. I don't need to do it manually. Sa unasuguro manual bag kung sinasetap mo siya medyo, matagal ng konte, but it's very worth it kasi it's a view time, okay? So you automate the testing and deployment, okay? Rather than doing the manual stuff and deploy it to the server, okay? Kasi most of the time, especially if you're a beginner, you're very afraid to use this kind of tools. So most probably nandung ka pa rin sa stage ng FTP. Okay? Sinusay nyo gumagamit ng engang ngayon FTP. Aula na. Okay, that's good. Okay, yeah, and then faster release cycle. Okay, so, yeah, once you push it, you can deploy it in production right away, okay? So, yeah, and also it's a very easy configuration and set up and can be done within a couple of hours or minutes. Pagsnabi kung couple of minutes kasi because meron ka ng ready-made nung mga testing dyan. So you set up nang sa circle CI and then you're good to go na, okay? This can either be self-hosted or you host mo nang sa cloud, okay? Pero there's a lot of other CD tools. I just prefer this kasi it's like my... yung nasanay na ako. So I haven't used Travis CI kasi there's Travis CI you have to pay at some point. So, yeah, in Jenkins medyo mahirap sa configuration. So, yeah, this is very easy. And yeah, I think that's it on my end. Wala lang QA pala.