 Welcome, this is the Jenkins documentation office hours. Let's look at our agenda for today and off we go Okay, so we've got Indies so October 14th October fest review is one topic for my list progress on the Jenkins IOP requests and Vlad if you're okay with it. I'd like to talk about the Docker image Changes to use The official image because I think this would be a good time for us to talk through that and Identify what we can do with et cetera. Yeah Great anything else we should put on the agenda. I'm not sure if this is related to the last subject, but Just proposal. I was thinking about including inside Tutorials Chapter or book or section on Jenkins.io Catacord interactive tutorials something that Kubernetes does on their side. They include Kubernetes Interactive tutorials in that tutorial section and I have the link which I can point It is related to Docker what I found and it is kind of interesting Right would and would you be willing to show us a demonstration? Is there that I would I would love to see that I would love to know more about it. So If we do that then we would have to but the can we fund catacorda to or or in our sites to run those web those demos See, I assume so topic has been added Vlad fair enough and we'll get there because I think I think what Vlad Suggesting may be something that catacorda is willing to fund themselves. They're doing it for Kubernetes if they're doing it for Kubernetes They're probably doing it for in some way for open source programs, right? Which would make sense. How lovely? Maybe I'm not understanding the topic of discussion, but what I found is Kubernetes is including Caracorda interactive tutorials in that tutorials of Kubernetes and I'm not sure who prepared those interactive tutorials. I found interactive tutorial for Jenkins and Docker on catacorda side, I think on catacorda and so my proposal is about Including those tutorial interactive tutorial, which is kind of nice. It shows how things can be done in our Tutorial section I'm not sure if section is the right term here on Jenkins.io side. We have tutorials So you tell you make interesting materials Right using exist well first of all expanding our Jenkins.io documentation and Maybe we'll need to modify or add. This is about Docker and Jenkins. Maybe we can do similar about Jenkins and Kubernetes And so or whatever. Yeah, whatever the topic will be Very good. All right. I like that great topic So I think that's that's very interesting. Yes, okay any other topics we need to put on the agenda Okay, then let's let's go ahead So we're going to start through the topic. So hacktoberfest webinar. We had approximately 20 attendees Attendees at the webinar well done glad well done Jonathan both on great material good presentations or presenters and Good topics. I've reused a Subset of the topics Reused one of the topics For a separate post It was the thing about migrating plug-in and We've got an interest from Xenob of a car in the Building Jenkins.io But she wants it on Windows with WSL one And That's because she can't apparently she can't get WSL to on her Windows computer And she's been actively developing but would like to be able to run the site so that you can see how it looks By the way mark just just to add to our morning session I confirmed that on my Windows box. It is WSL to installed Good very good. That's and that's what I've got. So but I'm confident I've got Mark has one at least one over computer That may still have WSL one needs for a test in terms of any any Feedback you want to offer there any observations Vlad on things that we should do better or differently Oh Overbid not I think it is there Thank you very much for preparing the slides and wonderful kind of Navigation point what needs to be done? Thank you. Well, and I thought that the demo transition the transition to your demo worked smoothly and well We didn't have any screen sharing failures or problems that way Excellent okay So we take the next topic progress on the pull requests right now. We've got let's take a look at what we've actually got We've got a hundred and thirty open issues and thirty five open pull requests. We had an outage today With the CI dot Jenkins dot IO Build processes were broken as a result of a change that was made earlier today in an image definition So I've had to work around that but I think things are reasonably stable there and we're making progress if we look at closed good first issues See how we're doing there Okay, good first issue Instead of closed that is not what I expected Sorry, yes, you are you are in pull requests not in issues. Oh Thank you. That's the problem. Thank you very much. That's Yeah, I would have had to look for a different thing there. So let's look at the label. Good first issues Good first issue. We've got 31 open and 44 closed You know that that Good first issue PRs 44 closed and I think that's a net improvement from our last time Yeah, we're down 30 we're down five issues last and that's good. Excellent We've certainly got quite a number yet to review And They'll just need some time for us to review them Any comments or concerns on progress on Jenkins IO pull requests Are you finding that the quality is generally good? Well, we made that's a good question. How is the quality of the pull requests? It's been mixed But easy to handle Mixed quality, but easy to handle Low quality items that for instance of the the st. Petersburg Jenkins area meetup had an online session On saturday and spent six or eight hours with about 10 people working together on it And we got it. We received several good pull requests from that we've received pull requests from other contributors And it hasn't been nearly the quality of pull requests has not been nearly the issue for us that apparently was for some other projects Have the benefit that we did an awful lot of work to prepare good first issues All they had to do is read our directions Follow them and and they could produce a useful pull request right And is there any metrics to measure the quality of pull requests? Well, that's a good question. There is not but we could certainly metrics to identify a rejected pull requests And that's a good when I don't I don't have that although I could have labeled them And that would have made it, you know, it was I think we've had maybe four or five That we rejected in total So for a month's worth of work, it's it's hardly worth Even flagging them as an issue because we get we get one or two a month Whether when we're not even in a hacktoberfest, right? There will be people who will demonstrate something to a friend who look here's how you do a pull request and it's complete junk So right now metrics I guess is not uh is not numeral, but it is kind of merged Admitted kind of rejected Right. Yeah, so we and we we should be able to gather should be able to collect metrics on at least approximations on hacktoberfest Commits that we're merged ours merged I'm not sure that I will trust them as entirely accurate, but but we'll have to look and see It's a good one that as we preparing a blog post Blog post for for the end of hacktoberfest We'll want some data and I haven't done much to gather that data. So that'd be a good thing to be Watching for D letter D on my keyboard is not working Anything else on on jenkins.io pull requests Okay, let's get to the next one. This is the one that I'm most interested in Oops So docker changes to use the official image So vlad has done marvelous work on getting us ready We're in progress. Whoops In progress with the change now Right some of the some changes have already been made made and then we had a comment from we had Insights from matt sicker On the technique he used But if I understand correctly what he did was he was using command line docker inside Inside the image But it was calling a docker in docker Image rather than Calling a docker in docker demon rather than calling The docker demon on the host operating system. I think he was doing is he created this sacrificial Um docker image that's used to allow it to run docker in docker and our current image Uses runs as root And does not use The docker in docker demon Did I get that about right vlad? I think you got it right, but I need to Like Arrange all this knowledge. I'm trying to do this through different links I created my personal Site on github where I'm referencing all Well topics discussions and everything related to Using Jenkins and docker Um And how to properly use declarative pipelines Including discussions that you had on github mark. I point into that including our previous conversations So maybe at some point of time we can sum it up But I guess you stated it correctly My understanding that what Uh We want to do is to use a docker demon, which is already installed on the host machine when calling declarative pipelines, but again, let's um Just I want to make sure that uh my statement is correct. Uh, so um Yeah, so I think so and again, this is me not being sure but I I think right now because we're running as root. We use the docker in docker the docker demon on the host And what matt was saying is that he recommends using the docker in Instead of using the docker demon on the host We create a separate separate docker image that's running And it uses it provides the docker demon for the for the The actual image and use But that's great that you're working on the issue and investigating and that's wonderful Do you want to share with us the link to your github repository? Uh link to my github repository Oh to Uh, uh, something that I was doing like to provide the references to all this. Yes. It is this woman Uh Google sees no dogs g s o d Uh, yeah, that's it. It is at the time when I was preparing Excellent. So it's this and it is just before I think And and you're just you're capturing your your notes into that that repository super Right, I was starting capturing this but sometime when I was preparing for this Excellent. All right So I think The Mark's guess Is that the Exists that the old that the previous technique From matt sicker Will work without requiring blue ocean The blue ocean image blue ocean docker image if we use flats Technique to install Install blue ocean in a custom image By the built by the reader built by the the student Mm-hmm It worked for me at least I haven't worked through every demonstration yet though to prove it But I think that would give us the best of both worlds we could use We could have the safety of not having to run as rude And have the the benefit of still being docker and docker and being able to run docker images With with all the convenience that we want Grand Java with maven Tutorial I didn't run the python or the npm or the lab view tutorial And python and npm are the two that I think are most interesting here because they They do something slightly different in each case to meet the needs of their particular tutorial Mark and I Just briefly tried running not as rude and I was not successful in this So I would be glad to grab your experience in that and extending that our document Great. Yeah, and I wonder Well, yeah, so let's we if we get to the end of our agenda time today vlad you and I may take some time Well, we may want to just go through that and let's do the experiment together We can just basically pair program on my computer and try it to see. Hey, can we make this work? Because it's If your time allows mark, I would be glad to do that. Great Anything else on docker changes for the official image a katakota interactive tutorial. So this one Can you share that link either in the chat or in getter? I shared in the chart mark. Oh, you did very good. Okay, so let me go find it chat And it's here So building docker images using So this is already hosted by them They've already got something that shows how to do a very useful thing that we do. That's great. Vlad. Thank you And I assume there's no charge to run that to run that environment It just I think so great look at that They there so they're willing to host the the system Well, you need to create account and I guess I I did create account there I haven't run this tutorial yet, but just And my idea was doing it similar. I posted another link in the chat room um over this session Similar to what kubernetes doing uh with their tutorial And they're doing exactly like this. So for instance, if you click I guess interactive tutorial or starts in my area They open the similar window That's fascinating. Okay Blacklight. Oh, so they've got a banner that makes my life harder to deal with that. Okay. That's great Oh, that's amazing. So here I just And I guess you don't need to type you just click on this Minicub version, for instance, it will type for you in this terminal window Well, that's that's lovely. Yes. So if If if they they would be willing to host such a thing From something we offer that's great Well, I guess we need to run uh to write scenarios. So to write these tutorials create the content for this right And docker is just one of the topics that can be anything Kubernetes or github if you wish or how to sync up repositories for instance and so It is more related to tutorials to teaching people how to do proper things So you said if I just click that it will type that for me That's wonderful That's great And I can go full screen That that's exceptional. Okay So then yeah on github. Yeah, so it is open source So the calicota tutorials are available Or at least the the kubernetes ones are are available on github as source code Uh Well, no this side kubernetes site is on github And I guess this thing is part of this github site Oh, I see. Yes. I see what you're saying, right? I wasn't even thinking about it I now I look at it. I see up here the url is actually kubernetes.io. It's not calicota.com I guess you can click edit this page It will tell you exactly right takes me to a to exactly their repository Which is inside their website It's somehow embedded Right so so that embedding would probably require us to negotiate something with With calicota to allow us to host it And allow allow them to host it and us to place it inside our page. Okay, so that that's good to know likely need negotiation agreement That would be a very interesting Project Thank you. So success I guess it will help us bring in more More like people and we can claim that it is not very hard to understand and to push yourself Junctions Yeah, absolutely So is this something that you're you're planning to continue investigating glad? Uh, yes, I can I would be good to Do this Hopefully there will be some usual benefit But I would love to learn more That Catacoda is a fascinating piece of technology. That's great. So it's really the communities.io site Question where shall we link to the to existing Jenkins and docker tutorial So that would be existing tutorial was actually on the catacola catacola site, wasn't it? It was you had linked to I linked to catacola. So yeah, I was Today like looking around and searching for docker because I was interested how well What people other people are saying about using Jenkins and docker and starting and I found this tutorial And uh, that is why I mentioned. Well, maybe it's related to our previous topic in this discussion And well, I found I didn't run this tutorial yet by my Myself, but I found well they are Using the same approach starting docker image as root And I want to know how they're doing so it would be interesting for me also to explore it further and Understand it Yeah Very interesting. Okay So it's like example of how exploring one topic brings us to the next topic and how we can Continuously improve CI some people I call it Continuously improvement I like that That's excellent. Thank you. Anything else you'd like to share on the catacola interactive tutorials no I guess I have uh somewhere on my github account somewhere repository exploring catacola tutorials, but Oh Yeah, I need to look further and in case if there will be something available I can share that Super Over the topics that we had on the initial agenda If you'd like we could try switching switching to look at Exploring docker further to see if we can find a way to to still do The tutorials but not run as root by using the technique combining your technique and matt's technique Yeah, I would be good Okay, great. Let's try that Well, I'm going to go ahead and just turn off the recording for now glad so that the We don't have to worry about my being recorded as I make mistakes Okay recording