 others who may follow later. Welcome to Jenkins documentation and development mentoring for Shekot Africa Contributon. Oninye and Esther, we're grateful to have you both here. Kristen is joining as well. We're being recorded, be kind to each other, and we'll go ahead. So what I'm going to do is share my screen, and we'll use that as a way to outline our agenda and be sure we agree on and choose the right topics, etc. So here's what, whoops, here's what I've got. How's it going? First question, and then there were some questions from Monday, the docs chat group, bios and photos for the blog, code of conduct. I think we've got covered no issues there, but just to be sure, and Slack channel. And then I think those should all be fairly brief. And then it's, what questions do you have? And let's provide some answers. Let's see ways we can help you identify barriers, identify issues, resolve those issues, etc. Does that sound good to everyone? Yeah, good evening. Good evening. Thanks for joining. Thanks very much. Okay, so how about on Union? Do you want to give us the first status? How are things going? Are there things that have been in your way? Are there things where you were surprised? Cases where, oh gee, this was a problem that I didn't expect to be a problem, etc. Okay, thank you. So far, it's been going well. And it's been challenging because most of the things we're doing here, most of them have changed to me. So I have to keep on going through the materialized and the provided. I make sure I do through the over and over and over and over again. So we don't really understand what we're talking about. Yeah, but it's so fast of you, too. It's been a wonderful experience. You mentioned that it's taking multiple reviews, and that's certainly must be challenging. So I think what that's saying is the task list was not detailed enough or not detailed enough for someone with who hasn't worked in this particular project before. Good. Okay, excellent. Any other insights you'd like to share on things that things that could have made your initial your initials beginning easier or smoother? Everything is fine. I didn't really say the tax list was not detailed enough. It's they are well detailed, but then we still have to I still have to go through them over and over again. Yes, they're detailed. And that's why we're making progress. Yeah, good. Okay. Yeah, very, very point. Good point. So multiple cycles through the tasks. And I think we've seen that for others as well, is that there are times when a task that I thought was sufficient turned out many people have bumped into a problem in that task. So it just we're just learning. That's okay. I have I don't mind at all that that if we have to go through multiple times, that's great. Thanks for for doing it. And thank you for helping us learn together. All right. Thank you. Great. Esther, would you like to go ahead? Okay. So far, it's been it's been fine. Although I've been having I had issues with Docker, and I had to do a lot of research. So most of the issues that I've been bumping into, I've had to, well, I just solve them on my own intuitively. So it's been, if I find so far, I think one of the issues that I felt like something has been really disturbing is the whole restarts of Jenkins. The last time it had the whole I had the whole restarts issue, and it never restarted. So I had to kill it. And then my laptop died. And then again, today, I was, I saw that I had to this Jenkins, I had to upgrade, not great updates, some plugins. So I tried to update it. And then it restarted. And then it never restarted in the end. So I just had to shut it down and kill everything. So I think that's the only that's the only thing. And then my assigned plugin, I'm not, I don't think he has enough documentation, except maybe I didn't go to the right page, but those the page I went to, it didn't have anything in it. And there does that is that no documentation. So was that a case of, hey, what should I do next? Tell me more the it was the case of okay, but I didn't really think much about it because I've not gotten to that part. I'm still building a pipeline. So, so I was like, okay, when I get to this part, then I can start asking questions. Let me just finish what I have to do first. Great. Okay, now back to the to the restart. This is this is a really good information as well. So what kind of operating system are you running on your computer? And tell us more about your computer so we can understand if it's if it's likely Oh, this the system is small or something else. Okay, it's a 12 gigram. Oh, wow, that's okay. Yes, yes, it's very fast. I love it. Yeah. And um, okay, it's a gigram. It's called i5. It's a Windows 10 home. Okay, which should absolutely work just fine. Okay, is it 64 bit or 32 bit? 64. Okay, all right. So it's got it's got access to those 12 gigabytes of memory as well. Okay. Huh. And and what Jenkins configuration were you running? Were you trying to run Docker then? No, I was trying to update a plugin. So it said Jenkins will restart after the update or something. And there was no way for me to tell if the update was done. So I'm just waiting. Okay. I wasn't clear enough, I think with my question. So when you're running jank when you install Jenkins on your Windows computer, did you install it using the Windows MSI package? Did you install it using the Jenkins war file? Or did you install it using a Docker image? No, I used the MSI. Oh, okay. Interesting. So you were using the MSI to install. Use the MSI to install. And that should have should have found a 64 bit JDK. So can you confirm that and you can do it after the after our session, confirm that your JDK is 64 bit and not 32 bit? Okay. Because it should the the failure you're describing sounds like it's might be starved from memory. And and that's possible. But with with 12 gigabytes of memory, I don't know how it could be. That's that's that's quite a lot. Okay. So so how about if we put here action, confirm that 64 bit JDK is being used, not a 32 bit JDK. And I thought that the JDK is default to 64 bit. So that would surprise me if it weren't Kristen, any, any other things you might suggest to investigate that might be causing crashes like that? Oh, man. Because I know most of the time, whenever I work with Jenkins, I just use the war file. Right. But this is actually a good test. I don't know if anyone has tested the MSI installer recently. So yeah, like that could be something that we just need to investigate. But in the meantime, if you could say like I've used the war file, just to get around the MSI problems. But we can look into this. I haven't used MSI in a really long period of time. And that's a good suggestion. Try running a Jenkins war file from a command prompt window on the same computer, just to see to see if it behaves the same way. Right. And I know that that will have a different Jenkins home than the MSI. So if you've tried to install like custom plugins or something, it might not show up, but it will put it in your folder. It's like it will be in like C users, whatever your user is, and then dot Jenkins. Yeah, it goes into percent home drive, home drive, percent home path, dot Jenkins. And that's a big use in the war. And then you can see the plugins that are installed there. It just is a little bit easier, I think. I think the MSI like routed somewhere in local data. 100%. Right. I think it might be easier to use the war file if you're running a different problem with the MSI. And then actually, this is something that we should investigate to see if the MSI maybe has an issue. Right. Good. So now I wasn't aware that Docker could run on Windows home, but you have been successful, Esther, in getting Docker to run on Windows home? Yep, I have. Good. Okay. Very good. All right. Yeah. Excellent. Okay. That's great. All right. Who else do we have with us? So Kristen. Ah, okay. So how about we take Cynthia next? Hi, everyone. Hi. For me, it's going well. So far, I've been able to create two poor requests. What has been, what has been challenging so far is understanding the, some of the arguments, what they are trying to do. So also like for the Git plugin, I tried to check the arguments that were missing the online help, but I couldn't find one. So I was not sure what I have to work on on my assigned plugin. So yeah, maybe what I could request is, are there new resources or any tips on how we could understand more on what the arguments are or are trying to do? I think that's what has been challenging so far. Yeah. My apologies for that one. That is, that, that effectively sets you up to fail on the Git plugin. I maintain the Git plugin and I've tried very hard to have documentation for all of its arguments. So, so my apologies that that's a plugin that we hope is, is a good example of how to document things. And when it isn't, we try to fix it. So, so my apologies. Yes, you're right. What we probably ought to do is assign you a different plugin for purposes of doing the, the argument work. Are you, are you willing to do that? Take on, if we give you a second one as your backup and here I'm going to bring it in. This is the, let's put, if we were to take the, where is my pivot table? Here it is. Okay. So here's my, here's the pivot table I've been using to track who's working on which. So build step on Yenya. I believe you've started on that as well. Did I get that correct? Yes, yes. So then the next one would be workflow basic steps. And so if we put you on workflow basic steps, Cynthia, would that be okay? So that that would be your second plugin that you work on. And if something isn't needed in the Git plugin, you apply it to workflow basic steps. Yeah, that's fine. Great. All right. So let me, let me get that into the notes so that we know who's got which assignment. Okay. And so, and this is a pattern that I would propose. We follow in general is when, when we run out of tasks on a certain plugin, we give you a second plugin. Now some of them, for example, SCM step is a good one that, well, let's pick this one workspace cleanup may have an awful lot of work to be done on it. Whereas Git, not much. And so how long each of you spends on a particular plugin will be widely variable. So don't, don't be dismayed if you feel like others are going faster. That's, that's not the point here. We want everyone to learn and we're confident that you'll add value as you go. Okay. So Cynthia, back to you. Go ahead. Oh, yes. Go ahead. Oh, sorry. On my own, I'm still seeing a SCM pipeline. I'm supposed to walk also on the build step. So are you not supposed to add this there? The document I was coming back from. Sorry. Could you, could you ask that again? Was that Lucy? Who was that? That's Aninye. Sorry. Oh, hello Aninye. Okay. Go ahead. Sorry. Ask your question again. Forgive my not catching it. Yes. On my doc, the document where you are at the moment, you're supposed to add that. Yes. Thank you. Yeah. Is it, are you okay if we put build step there for you? Because I have a suspicion that you're going to be done with SCM step kind of improvements pretty quickly. Or would you rather wait until you're done? You tell me what you would prefer. Great. All right. So let's do that. Let me get the link to that. And it is build step. Very good. All right. So excellent. Thanks. Okay. So Cynthia, back to you. Yeah. Also, I had a question. So are we meant to add online help also for the parameters? If yes. How do, like, how do we do that? Because I saw for arguments, we have to create a new HTML that matches the path with a Java folder. So I was not sure how to do that for the parameters. That is an excellent question. So I'm going to illustrate if it's okay for everyone. I want to illustrate what's behind your question because that's a question that I'm delighted you asked. And let's look at it. So if I look on the Jenkins documentation site in the pipeline steps reference, and a recording of this, this will be available if you need to refer to it later. So when I look at the pipeline steps reference, and let's look at the clean workspace plugin, WS, there it is, the workspace cleanup plugin. So when I look at this, this is where Cynthia's question is perfectly suited to it. Clean WS has very little description here. And the arguments, it's a common complaint from people, hey, I don't know what each of these arguments means. What do they clean? What do they, what do they do when they do it, etc. And what Cynthia observed is, hey, there's no file already existing to create this. Where do I put it? Cynthia, did I correctly describe your question? Oh, yeah. And so, so what has to be done is you find, you go into the plugin source code and find this keyword. And when you found that keyword, you create a help file, an HTML file to match that keyword in the, in the plugins resources source directory. So let's see how can I illustrate that probably best. Let's go to the, the git plugin. That'll let us see some examples of this where we've got in the source directory main resources. Notice that it's resources, not Java. And then in this Jenkins plugins git and under get step here, okay, this is the thing that describes the step named git. But the step named git has an argument change log. It has another argument credentials ID, another argument poll, and another argument URL. So the naming pattern is find the correct directory or make the correct directory is probably more likely, make the correct directory in source main resources to match the Java code that you're writing for, and then create in it a help dash and the argument name. So in our example, it was, it was clean. Hang on. What was it? It was clean. Seriously. I'm sorry. I'm having difficulty finding my window again. It was here. No, too many windows. So sorry. Okay. So it was, I'm sorry. I'm lost. Okay. So the arguments are here. Add them as help dash and then that word and oh, it was workspace cleanup. Here it is. Clean when aborted. So it would be help dash clean when aborted.html. And inside that, you would put text something like this text here. So a div to open it, a div to close it, and then a little bit of text to describe what you've learned about that particular argument. Cynthia, did that help at all? Yeah, yeah, yeah. It did. Thanks. Okay. Excellent question. Thank you very much for asking. Any other topics, Cynthia, that you'd like to highlight or things where, oh, there was something that was a challenge or got in the way? Yeah. So I say that something that was challenging is trying to understand what the arguments are trying to do. So I don't know if you could provide any tip on how we could understand the, what could help us to understand more what the arguments are doing. Very good. And so for me, I would think run the pipeline syntax generator yourself in the local Jenkins that you've got and look at what it offers, what it hints to you about what that argument is doing. The second would be use the plugin documentation if it exists. For instance, on the workspace cleanup plugin, I was quite impressed. It's got some really excellent documentation on the plugins page. And so that already tells many times then the other is make a guess. And if make a guess and explore doesn't work out, then ask a question. Ask questions in the Slack channel. Kristen, any advice from you in terms of is, are there other ways of exploring this that you might suggest or other things that would be more effective than what I've described? Right. These are really good suggestions. And also, I would almost say you could probably reach out on the main Gitter channel, the Gitter channel for Jenkins as well. Oh, yes. Ask the general community because there could be someone who is a type plugin maintainer or who uses it on a regular basis might be able to answer some questions as well. Because some of these plugins, we don't see them every day or we're not, maybe if you're not using them as well, there could be other people who would have some insight into what the parameters mean. Excellent. Thank you. Good suggestion. Yeah, the main Jenkins Gitter channel. Another might be the Jenkins users mailing list. The Gitter channel tends to be much faster response than a mailing list post. Listen, it's either fast or not at all. If you ask a question that people know the answer to, they'll answer immediately. If they don't know the answer, it may never get an answer. Right. So it's a good chance to ask and just know that there might not be anything else. But we'll try to get definitely like searching the regular documentation for the plugin. They probably, I would say about 99 times out of 100, the information's there, just not in the help file where it should be to help everybody else. Because, you know, again, like make it a little bit easier. Other people don't have to do the same level of digging that you're doing here. It's just to be able to use the steps. Right. And now the ultimate reference is the source code itself. If you read Java before, you're certainly welcome to use the source code. If you're not comfortable with Java, that's okay. That's the very last thing. And by then, we should have found another way to help you get the answer. Right. Yes. Anything else, Cynthia? All right. Should we move on to Lucy? Oh, Lucy's not here. Sorry, my mistake. So Sharon, I think you're next. Hello, everyone. Hi. So far, everything hasn't been bad, though I'm a bit behind. So I had problems with the installations, but I'm trying to sort them. So the major problem was with the docker, but I'd asked for way of consultation and told me that I can go ahead. But when I was stuck, I could search for solutions. Then I could find some comments below the Jenkins page, which some people had already sorted. So it has been helpful. And so Sharon, which, what kind of computer are you running? Is it Windows Home? Is it? I'm using Ubuntu Linux. Okay. All right. And how much memory do you have on your computer? It's four gigabytes, then 64 bits. Oh, good. Okay. All right. And is it 18.04 or 20.04 or a different one? 20. Okay. Good. All right. Very good. Okay. So Docker should be relatively straightforward to install there, but there were issues you encountered. Do you want to share some of those with us? So was it downloading that was a challenge? Was it that it failed to start? Tell us more. Okay. The issue was when I was running the pipeline on the Blue Ocean with Jenkins. So when I was running, the last command was failing, and it was something to do with Docker. So I had to restart. And then I had to restart, start again. And then, for example, when I could run the Docker machine, I could see that it is there. But at the same time, it's saying it is not a different machine is available. So that was the main issue. So the way I interpret what you said is you had Docker running well enough that you were inside the Jenkins tutorial using Docker to run the Jenkins tutorial. And there was a Docker related message inside the tutorial. So what that probably indicates is a bug in the tutorial. Not a bug anything that you could actually fix. Okay. That's good to know. So which tutorial were you running? Were you running the Node.js tutorial or the Maven tutorial or a Python tutorial? The Node.js tutorial. Okay. Good. And that one, good. So there's a real bug there. And if you'd be willing to submit a description of it, that would be great. If you're not comfortable submitting a description of the bug, I'm okay with that as well. But the issues or the GitHub site for the Jenkins.io pages would be a great place to have a bug report there that describes what you saw, how it failed. Because if you saw failure, others are very likely to see the same failure. Okay. Thank you for finding it. That's great. And my apologies. Those tutorials are, they're interestingly complicated, but because they're interestingly complicated, they tend to break on occasion. Okay. Thank you. All right. So let's see. I think we've had everyone that's available. Any other questions from any of the four of you on topics that you'd like to be sure we discuss? Questions from me. Okay. All right. And Kristen, any, so Kristen and I did a review yesterday of the documents that you've been creating of the documents created as part of the task list, right? And glad to see your progress. Glad to see progress for each of you. That's great. Keep going. I think we've probably got some surprises yet that will happen where you realize, oh, tried to do this thing and it didn't work. What do we do next? And on the bios and photos for the blog, I think I have what I need. I made a mistake. I didn't include the open graph image. And I've got to get that fixed. Actually, I've got to show it to you. Hang on. I really should show it to you because I'm proud of this. I think it's a lovely image. Where is it? Is this it? Yes. Okay. This is the page that I intend to show as the image when people click this on Twitter. Any objections from the four of you that we use this as a sort of an image cover? No, I love it. Okay. Now, danger, warning. I am not a designer. I don't know how to do good designs, et cetera. But so you're okay with that? No objections? It's wonderful. Yeah. Oh, I think my name, there is a, you forgot to add a Oh, dear. Okay. I misspelled. Oh, yeah. It's actually, you know, Dukonda. Oh, yes. I spelled it wrong. Shame on me. Okay. I will fix that. I R A D A. Okay. I would, is there more misspelling? I R A D A. No, that's A should be U. I R A D U. I R A D U. A D U. Oh, yes. Yes. So I've misspelled it twice. There are two character errors. I can fix that. Yeah, it's fine. Well, thank you for catching it. I'd much rather fix it now instead of having the humiliation of publishing one more time this image that I failed on the first time I tried just a minute. So let me bring that up and let's let's fix it live because you just as well see it being fixed. That way, when I make a mistake, we can, we can find it quickly. Okay. So here is the page and let's see if I just search for Cynthia. Okay. Now I R A D U. Did I get that correct? Yeah. Yeah. Yeah. Okay. Good. I did. Very good. All right. Now I have to drag that just a little to make sure it's okay. Excellent. All right. So I will, I will fix that mistake upload a new image and off we'll go. Very good. Anything else we need to discuss here before we end today? See, so you're all on the Slack channel, right? That I think we've got working reasonably well for you. And it feels to me like that's working better than having you do it in the Gitter channel. I'm comfortable with it. Kristen, I think you're comfortable with it. It seems to be working for Meg. Anyone, anyone not comfortable using Slack for communications? Great. Then we'll continue with that. All right. Next session will be next Monday, and it will be Monday morning. Thanks very much. Thank you. Thank you. Have a great weekend. Thank you. Thanks. Good weekend, everyone. Thank you very much. Thanks. You're