Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


    Cloudron Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    CI tool that can run on Cloudron

    Discuss
    cicd drone jenkins gitea
    4
    13
    538
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • fbartels
      fbartels App Dev last edited by girish

      Hi community,

      I was yesterday thinking about packaging up a ci app for my own use. I would want to run the managing component on Cloudron (so have the ui running on my Cloudron) and have workers on other systems (to not mess with the system too much).

      I had Drone and Concourse already on my list a while ago, and yesterday briefly looked at packaging up AppVeyor, but sadly it has quite poor documentation when it comes to self hosted (publishing just a binary/package without any version number in its filename, cannot override/configure default paths which causes a clash with the read-only nature of Cloudron apps).

      What are the others here on the forum using? It should go hand in hand with Gitea running on Cloudron.

      To give a bit more context so far I have used Jenkins at work, which I dislike because its Java and the Jenkinsfile syntax is a bit weird. Travis is old school but also only works with Github and Bitbucket. Github Actions are nice, but while you can selfhost runner (or at least that part was planned) it also would not work outside of Github.

      Would you be interested in live streaming the process of building such an app (on youtube live for example)?

      mehdi 1 Reply Last reply Reply Quote 0
      • mehdi
        mehdi App Dev @fbartels last edited by

        @fbartels said in CI tool that can run on Cloudron:

        cannot override/configure default paths which causes a clash with the read-only nature of Cloudron apps)

        I'm not sure about which CI app would be best (I am a Gitlab CI user and lover 😄 ), but about this specific point, you can always work-around these issues with symlinks pointing to /app/data/, /tmp/, or /run/

        fbartels 1 Reply Last reply Reply Quote 0
        • fbartels
          fbartels App Dev @mehdi last edited by

          @mehdi said in CI tool that can run on Cloudron:

          you can always work-around these issues with symlinks

          yes, that is true and also something I have done when playing with Teleport, but sadly AppVeyor does not specify where in the system they are planning to write to so it would be a bit of trial and error. Not sure if this is a route I want to go through. It seems to be a nice platform, but their focus is clearly their SaaS.

          @mehdi said in CI tool that can run on Cloudron:

          I am a Gitlab CI user and lover

          Unfortunately Gitlab is quite heavy (Java again). I am rather searching for something that does one thing well instead of a system where I am only using 1% of the functionality.

          mehdi 1 Reply Last reply Reply Quote 0
          • mehdi
            mehdi App Dev @fbartels last edited by

            @fbartels said in CI tool that can run on Cloudron:

            Gitlab is quite heavy (Java again).

            Nope, Ruby ! But yeah it is quite heavy ^^. I totally understand your approach of searching for tools that only do 1 thing, and do it well. About CI servers, I heard good things about Drone ( https://drone.io/ ). Never used it myself though.

            1 Reply Last reply Reply Quote 1
            • fbartels
              fbartels App Dev last edited by

              yes, Drone is already on my list. What intrigues me about Concourse is that it has a cli to run tests locally as well, which could be quite handy for debugging.

              1 Reply Last reply Reply Quote 0
              • girish
                girish Staff last edited by

                I have tried to package drone a while ago, but they have a strange deployment technique where everything is set as an environment variable. While that itself is not a problem, you have to even set some flag as an environment variable for migration and then stop drone and start it without that flag. I don't recall the specifics but it was unviable for reproducible deployment. This could have changed though.

                Have you looked into Agola ? If you are in the market for Jenkins, let's try to get https://git.cloudron.io/cloudron/jenkins-app out! It was sort of working when I packaged it but Jenkins plugins are always a nightmare for packaging.

                1 Reply Last reply Reply Quote 0
                • girish
                  girish Staff last edited by

                  BTW, what kind of CI are you looking for? Just building some projects into artifacts for download?

                  fbartels 1 Reply Last reply Reply Quote 0
                  • fbartels
                    fbartels App Dev @girish last edited by

                    @girish said in CI tool that can run on Cloudron:

                    BTW, what kind of CI are you looking for? Just building some projects into artifacts for download?

                    Yes I have, not sure why I discarded it, though.

                    @girish said in CI tool that can run on Cloudron:

                    If you are in the market for Jenkins

                    While I know Jenkins, it's not what I am looking for for my personal projects.

                    @girish said in CI tool that can run on Cloudron:

                    what kind of CI are you looking for?

                    Misc stuff. Building and uploading my blog, building and installing some custom cloudron apps. Hopefully migrating some stuff off Travis (so pr testing).

                    1 Reply Last reply Reply Quote 0
                    • fbartels
                      fbartels App Dev last edited by

                      I ended up going for Drone and have a functioning setup now.

                      Its configured to use the Postgres database as a backend and auto generates secrets on first start. The one thing though that cannot really be automated is the setup of the git counterpart. For this you'd need to exec into the app and edit a .env file manually.

                      Running the agents is then quite automatic again. Whenever I need more agents I can run a script which uses the cloudron cli to fetch the required data to run.

                      And my first automation ended up being to automate the build and publish my Hugo blog on my Cloudron (via surfer cli).

                      1 Reply Last reply Reply Quote 1
                      • girish
                        girish Staff last edited by

                        @fbartels Do you think the app is worth publishing? Do you have a repo?

                        fbartels 1 Reply Last reply Reply Quote 1
                        • fbartels
                          fbartels App Dev @girish last edited by

                          @girish I am not sure If I want to publish it for everyone (yet). The things that you need to do for it outside of the regular Cloudron context make it a bit of an unusual app and I fear just publishing it will lead to a lot of frustration for others stumbling upon it (similar to the video conferencing experience).

                          Maybe I keep the repo private for now and just open up to users where I can directly guide them on using it. Have to see if there is a market for it 😉

                          I have setup a mirror of my code to a private Github repo and invited your Github user to it so you can have a look.

                          mehdi 1 Reply Last reply Reply Quote 1
                          • mehdi
                            mehdi App Dev @fbartels last edited by

                            @fbartels I think you can definitely make the repo public. Anyone who builds and installs an app manually is definitely someone who expects it not to be 100% ready, and be willing to do a few manual tweaks if necessary 🙂

                            1 Reply Last reply Reply Quote 2
                            • mario
                              mario App Dev last edited by

                              Agola is really quite nice.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post
                              Powered by NodeBB