⛰️Ci

services/ci

needs better documentation because it is core infra
woodpecker is the current ci. once forgejo actions stabilizes we might switch to that. interact with woodpecker at https://ci.bunk.computer

deployment

running with docker compose on code.bcc.is

notes about how we want to use ci, not about woodpecker itself

a common pattern

we want to aspire to use common patterns in ci. one of these is that anything getting deployed to turtle will need to ssh onto turtle and then do things to run the new code on turtle. the beginnings of a pattern for this are emerging in the deploy step here

references

woodpecker uses woodpecker to build/test/deploy woodpecker. their ci is complicated and open source, so it's a very good reference for writing your own pipelines


chaotic notes about deploying things with ci

i'm iterating on a shared deployment system and gonna keep my notes here

steps for if the thing is an executable (rather than static files)

  1. make nginx config (probably reverse proxy to a local port)

  2. make system user for the service with useradd -r service_name

  3. get ssl cert (certbot)

  4. make systemd unit https://git.bunk.computer/maren/blips/src/branch/main/simple-systemd-unit.md

    • make it in /etc/systemd/system

    • sudo systemctl daemon-reload

    • sudo systemctl start <service-name>

    • if nothing weird, sudo systemctl enable <service-name>

steps for if the thing is static files

  • nginx nginx nginx is the only thing nginx

    • (nginx)

  • ci???