@emacsen Yes, yes, no. Been using one instance with GitHub and another one with Gitea, and it generally just worked.
I'm looking at self-hosting it up for a self-hosted gitea.
I know some of what I need to do will be unique. First, I need it to check out using git-lfs.
Secondly, this is a large repository (essentially a highly dynamic mono-repo), and what I need is for it to only build essentially a directory at a time, and only when changed (ie check out this directory and children when you see a file modified).
I'm worried about how much customization will be involved. Any thoughts?
--- kind: pipeline type: docker name: Deployment to Firebase Hosting platform: os: linux arch: amd64 # tell drone not to do the git clone clone: disable: true # steps executed in order steps: - name: git-clone image: alpine/git:1.0.7 commands: - git clone https://bitbucket.org/team/proj-1 - cd proj-1 && git checkout $DRONE_COMMIT - name: setup image: node:lts commands: - echo 'prefix = /data/.npm-packages' > /root/.npmrc [...]
for the directories you need to build, maybe you can write a script that figures out what changed in the most recent commit, and figure out what to rebuild. run it as a drone step.
@emacsen @fn If the repo is that large, and you're self-hosting, you will also want to consider caching your files instead of cloning anew on every push or PR. We use http://plugins.drone.io/drillster/drone-volume-cache/ (see e.g. https://gitea.kosmos.org/kosmos/akkounts/src/branch/master/.drone.yml)
@emacsen i set it up for the co-workers over a year ago. a couple of projects use it heavily (do all deployment through it). one other project prototyped using a mac mini to automatically build unity3d games for iOS, using the mac os native drone runner. they ended up not using it in production, though for logistical reasons, not technical.
the projects that use it use the docker-based drone-runner to make builds or do deployments.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!