 This works. Okay, so Let's all get to our seats and I want to remind that you should rate and comment and block about these presentations and then Confine general and now Let's welcome our next speaker Adam. Oh, hi everyone. Can you hear me? That's great. So You might have a open source project which you want to build You want to distribute it to your users and you want to make sure that users will have no Problems to install your project. So What would you do? Let's use copper for that What I'm gonna talk about now is What can you do with copper? How can you do it? I will have two demos and then something about the copper project itself So first what's copper is? Copper is a build service which means that it can transform your source code It can build it and create an rpm repository so your users will be able to install your project and There are Three steps and I will show you what you can do in all three steps. The first is source code We actually support four types of source code now You can have source rpm which you can submit Actually upload to any public server. This was the initial functionality and about half a year ago It was the only one and then we added storage to copper So we will be able to we are able to Store the source RPMs and also we can build directly from Tito From get using Tito or mox as a mock SCM plug-in Jay, how many of you know Tito? Okay Was it okay? So there was a talk yesterday about it also we can have a look. It's basically a Small program which you can run in your git repository and it will build your packages automatically and on your machine locally and mock SCM How many of you know mock? That's better so mock can build from git and we are using the plug-in in copper as well so that's about source code and Let's see there are two Actually two versions why it's like snapshot and what is life code and if we have life code we might be able to just Store the URL to your git and build from it directly. So that's what we did So there are three ways of initiating your build you can submit the source as usual as before and then you can Store the information about your build in copper and do build with just one click with no submitting everything or Automatic builds using webhooks. This is now supported on GitHub only and I will show you in the demo how to do that and then Yeah, some other Bonus things you can do in builds you can do external repositories You can use dependent projects if you require some packages from something else enable disable internet access and Modify truths. This might be important if you want to burst for collections and use comms XML And then when you build your packages By default this creates your repository automatically, but if you have some Large project which consists on 10th packages, you can just Build each one each one and then click for your report to be created. So That was about the what there are some build types and You can do full automatic process or just manual in every step And now I will show you how and this would be the demos almost live demos and I have to prepare first if submitting build via command line and then I will use the web interface. So I Discrent shots because I don't believe in live demos so First what you need to do is install copper CLI, which is our client. So I will do it right now. Yes Thank you Now I want to build some source. I just picked random source from the internet so I will download it yay and I've got it in my directory now I need to set up my copper CLI and It's something like login to copper. I have to put my token there So I added the file and I can get this from the URL You can also see a link in the bottom of the web UI So this is something like My token I will save it and Now let's see what copper CLI can do first. I need to do create a project. So I will create a project I will call it Defconn project Yay, and then It's time to build a package. I'm using the source RPM and upload uploading directly to copper from my machine So I specified copper CLI built This is the project and package and now it's building actually. It's uploading to copper Running and succeeded at this point. I have the package built and the repo ready for installation now Anyone can install your package so you can run this command dnf copper enable and copper project name which will add the project to your computer and If you're enabling random project, this is important You need to know what the project does because copper is community project and everyone can use it So there might be some testing stuff some dangerous stuff. So This is important to keep in mind And I can just install it. That's it So that was the first demo and now I Would like to show you how to do the automatic builds, which is the new thing we can do So this is how our user interface look like looks like so I will click on new project. I Will select some name. This is Defconn demo 2 and On the same same page I can choose the truth. I just chose Fedora 23 and I click on create my project is created now. So let's submit the first build So I click on builds New build and I would like to use Tito which is the script I talked about before and this will do a build directly from my git repository. So I Will need the public clone URL and I'm also checking test option, which will build my last commit every time So I can submit it And it's importing Let's have a detail look and it succeeded and I can install it the same way as before and now Let's have a look at the automatic stuff So this is the automatic builds if I want to enable it for this project. I need to go to packages. I Can click on my package, which I just built and there is something called default source I can set default source to any package in my project So I will just do this. I will need the same URL The Tito option as before and I can also enable the webhook rebuild submit and Now I need to set up GitHub. So I will go to settings here webhooks and This is my URL. This is my token So I will need to add it to my github repository, which is under settings webhooks and services new webhook And I can paste it here and that's it I Click and I can now submit new builds with every commit using copper and What we plan in future is those small banners which can be added to your project page So we can do something like very basic continuous integration and Test your every build So that's everything from the demos Do you have any questions so far? Yeah Yeah So the question was if you can use something like that package in Fedora Not at this moment, but we are using the same storage the same disk it as Fedora does and we are planning to do that We would like to open it for everyone so it's coming Yeah, yeah, you can actually do that if you use the mock plugin you can Specify your git your spec file. It can be git or SVN. So it's supported now It will take the whole source code Yeah, so I will talk about compute contribution later. So maybe you can send a patch that would be very nice to have Yeah, thank you actually not plants, but We just didn't think about it. This is very new. We just wanted to test it with github and I think yeah, it can come Why not? All right, I Can have a look at that Yes, if you use Tito or the question was if I can just use tags, right in get if you use Tito You can specify that you want to build your tag releases only So if you don't check the test as I did You can build the tags actually Tito manages it itself. So it will create Version with every tag. Yeah Yes Thanks for the question. The question was if I can trigger something when the build succeeded Yes, we emit that message with every build so you can check on that If it helps that message It's a message to IRC from copper Not just IRC I'm sorry Which version of Tito? I'm not sure actually Yeah, it's one of the host actually Okay, so let's move to the copper project as I said we are moving I didn't said that I'm saying enough We are moving our project to github as well because we want to enable pull request And we would like to test and use the automatic builds of copper in copper and then install copper from copper So that's one thing and About the contribution I Did something with vagrant. Do you know vagrant? Yeah, so if you want to contribute to our project and you have something let's say small To change and you want to test it you can clone our repository and run this one single command and it will Create on your machine Complete development environment. We now support just front-end and this git so you will not be able to make builds but any changes in the UI and stuff you can test it with this and will not break your system, so so the support contribution and That's all for me today Just to remember that copper is a build service which make your repository And that's it any questions Yeah, I think make make will answer that this System In the food So now They use There's a lot of problems. It's like the issue that my students and the mates of the college. Yes. So it's really easy. That's the one I want to know about. People know BDH, that's the idea. It's not an automation service, it's a test. On the side, there's books very much, like, not enough of a case to know. I didn't want to say this, but I kept it still. It's all in me, I'm sorry to begin. It's certain, it's like, to go to a project, we remember the old Fedora-related specific solution which doesn't work outside Fedora. Instead of reusing something which is potentially back into the entire community, we started with the man, our own lock, lock in for Fedora, the specific one. Right? Yeah, it's very much, this doesn't policy, like, freedom, openness, it starts from scratch. There is not too much footing on the copper, which is for copper itself, there's only on the back-end problem, which is really quite small code. We used the signing code from the OBS, we used this deep, the Fedora-pan, Adam was leading the project, which made it a standalone project from a bunch of files in Ansible Gear, which should be finished soon, because Fedora still uses that just to pass. So, and we are working on the mall itself, so a lot of our work is behind the copper on the project, which are shared among the community. So, that's not just, we are inventing something in the community. It looks very much the same. And, unlike, well, unlike OBS, what they say is just there are not so much work or work done on copper, so that's why we need it. There's a lot of work to do, as far as I see. So, I didn't buy this, I think, at all. Yeah, thank you. Thank you for this question. We can take it outside and compare the build service of the world. Actually, yeah, we can, it's not on the recording. So, have we got any other questions about copper? We actually support the PC architecture, which is one, which is I386 and x86, so x64. And there is also PowerPC. We don't support ARM, but we have some machines, I think, so we will be supporting in the future. Thank you. Yeah. Okay, so thank you for coming for this bit short talk. So, actually, we would like to make the automatic builds more stable and also we will be supporting things like building from PyPy, C-Pan, and RubyGems, yeah. What happened to dopper? Yeah, so, okay. So, for those who don't know, dopper is building of docker images out of the copper projects, which is very simply wrapper just enable the copper images for resulting the docker image. Well, we had it, we have it done somehow. There was a long delay because the Fesco, we finally get a proof of that and docker changed the web interface and because docker doesn't have basically API, you have it programmed us using screenscape code, so we screenscape the web and click instead of the user to create the cramages, which is not ideal. And just before the Christmas day changed the interface, so we have to done it again. And, well, after Christmas, we had a different work, like migrating because our servers were still on the federal 21, so we migrated to something stable. It was finished just recently. So now we are considering the deployment of the dopper. My question is technically, I'm still not sure whether it is worth of the work, whether we should deploy that or stop that project before we actually announce it. So it's quite fragile because of that screenscaping code, so I'm not sure if other user will be interesting in that actually. Yeah, but that OBS, OSBS have its own, what's it called, docker registry. So the original idea was easily enable creation of the federal images on the docker hub, original docker hub, because if you look on the docker hub, there is Ubuntu Ubuntu Ubuntu. Debian, Debian. Pardon? All right, so that's it from me. Thank you. If anyone asked a question and they haven't had a scarf yet, please come to the front to collect one. Yeah. Or if you answered a question, please come to the front to get one.