Drone
-
@atridad thanks!
Trying to understand how this app works. If I configure this for gitea, then it will use the gitea provider to sign in - https://docs.drone.io/server/provider/gitea/ ?
If that's the case, what is https://docs.drone.io/server/user/registration/ ? Or is the OAuth stuff separate from the users?
-
@girish The OAuth is seperate I believe. So far I haven't been able to see an issue with open registration. But yeah it uses gitea as a login provider.
-
@fbartels Good point. I'll do that next time.
-
@girish my drone app has some install instructions and further usage in its readme (including the gitea setup). you can find them at https://github.com/fbartels/cloudron-drone-app#installation.
-
@atridad I had to add
RUN chmod +x /app/code/start.sh
to your Dockerfile in order to install it properly, it was throwing a 400 error.Is there any chance to add the runners/agents as cloudron apps as well? I was just playing around with the exec runner and couldn't get it to work, but I would think it could be the same as the cloudron-build-service, no?
-
@msbt you don't really need an app for that, you can just run the docker runner on your cloudron host. I am using https://github.com/fbartels/cloudron-drone-app/blob/master/runner/docker-compose.yml along with a
.env
file with my server specific values. -
@fbartels I'm trying to have a complete deployment solution for static pages, like Directus + Gitea + Drone (with Agents) + Surfer on one server which can be given/rented to the customer when the site is finished, so they can have everything in one place and can build/update the website(s) themselves. Would be nice to have it in the GUI (and there's a dashboard on :3000 if you set credentials, right?) and have the possibility to restart if need arises without sshing onto the box. But if it's too tricky or crazy effort, your suggestion will probably be the way to go
-
@msbt the webinterface on the runners is only for debugging as far as I know. So they do not really need to be reachable from the public internet. The only important thing is that the runners can reach the "dashboard" to get job information.
I have runners deployed on a few machines, even had it running on my laptop.
And one of the Drone jobs indeed builds a hugo blog and then deploys it via surfer.
-
@fbartels thanks, it does work indeed, I even used your
cloudron-surfer
image to deploy a demo Hugo to a surfer instance.Although I would still find it a lot more practical if the runner was an actual part of cloudron, so we go full circle and have all the benefits, like when you migrate everything on a new machine
-
@msbt True. The best part about runners though is that they need barely any config and don't need to store much at all. It is very scalable. As for my image, I do need to fix that. I've been slammed with projects and life lately but I'm trying to get to everything I've said I would do lol
-
@atridad If you detail out some steps of what needs doing, perhaps someone can chip in at the repo you specify.
Many hands make short work.
-
@robi from my perspective that is all already part of https://github.com/fbartels/cloudron-drone-app/. Atridad just decided that he wanted to do his own app.
-
@fbartels ah, thanks for the clarification!
-
@robi Just added that. Thing about this repo is hopefully making it more viable as an official app. One thing that I think would help is support for required environment variables when installing specific apps. Similar to how the ports are defined. That would let us specify the gitea URL and the OAuth info.
-
-
@robi Submitted.
-
@atridad Replying to your post in my feature request here to keep it in the drone thread. It might be able to make the runner work too?????
https://docs.cloudron.io/packaging/addons/#docker -
@atridad uh nice catch, that would be awesome!
-
Is anyone aware of the licensing changes to Drone? There are some notes here - https://laszlo.cloud/drone-community-edition-what-is-included
There is a fork of drone now called woodpecker ci. I opened a request for that here https://forum.cloudron.io/topic/7186/woodpecker-ci . From https://woodpecker-ci.org/faq#why-is-woodpecker-a-fork-of-drone-version-08, "The Drone CI license was changed after the 0.8 release from Apache 2 to a proprietary license. Woodpecker is based on this latest freely available version."
-
@girish yes, I've been following the woodpecker project also already for a while. it seems quite active. On the other hand I have not noticed any limitations in my usage of Drone so far. Also the "agent less single node" limitation is something I cannot confirm, multiple runners here without any problems.
-
@girish oh nice, it seems the woodpecker agents come with single binary files, this could make it easier to set up, right?
-
@msbt yes, quite nice that it has release binaries which IIRC drone didn't have.
-
-
@fbartels ah good point, thanks for the clarification! Do you think we can get it to work with the docker addon we have?
-
@msbt yes, I would imagine that one could wrap the agent into a Cloudron app, but I honestly do not see that much of a value to it.
Reasons:
- the agent does not have a webinterface by default (but one can be enabled with https://docs.drone.io/runner/docker/configuration/reference/drone-ui-disable/)
- the agent does not store anything, so needs no backups
- needs manual configuration for address of drone server and shared secret anyways
I just have a small docker-compose.yml on any system that I want to act as a runner (my laptop, desktop, ..., even on my cloudron instance).
-
@fbartels I get most of the reasons and I'm using it the same way you suggested, but I once crashed one of my Cloudrons because I installed a wrong docker-compose thing to launch the runners, which either updated or removed Docker, thus killing Cloudron. It was a quick fix to reinstall Docker, but would be nice to have the runners as an app so people don't have to tinker and install things outside the Cloudron ecosystem.
Would be also easier to migrate and such, or launch/start additional runners on different Cloudrons with one click if more are needed without sshing into each box.
-
-
@girish Any plans to add this to the App Store?
-
This is working very well for us, paired with Gitea. Highly recommend making this an official app store install.
-
@marcusquinn same here, but the Drone runners are still not part of the equation, would be nice if they could work together with the docker addon to have it 100% "portable"
-
@marcusquinn Which package are you using ? Or are you running this outside Cloudron ?
-
@marcusquinn Which package are you using ? Or are you running this outside Cloudron ?
We are running
Docker runner
andSSH runner
as docker containers andExec runner
as a service on the Cloudron host, basically exactly as described in the Drone documentation.
https://docs.drone.io/runner/overview/@marcusquinn same here, but the Drone runners are still not part of the equation, would be nice if they could work together with the docker addon to have it 100% "portable"
Maybe we'll package runners as cloudron apps later that could build & deploy an app on Cloudron.
-
@vladimir-d I meant the drone server. How are you running it - https://docs.drone.io/server/overview/ ? Is it a Cloudron package or something else?
-
@girish our own @fbartels already created a nice package: https://github.com/fbartels/cloudron-drone-app which require a few manual steps, but is still good to go.
Back then I used a mashup of this one and the one atridad (?) created (which is no longer online it seems).
-
Ah, I didn't realize @fbartels opened it up for all.
-