ok after a few hours of Fucking With It i have managed to get TeamCity running locally doing approximately my same CI for my blog as i previously had on sourcehut.

a few thoughts:

  1. keeping the CI configuration out of the source tree felt weird for a minute but i think it actually makes more sense.
  2. this is all running with the docker-compose examples they give out, i have no confidence it'd be easy to set up in production
  3. my old setup has rsync --del to ensure that if i, say, accidentally publish all my unfinished drafts, i can unpublish them by just publishing without them¹. TeamCity has an SSH Upload build step, but not an rsync one, and it'd be a bit of a mess to set one up myself, because
  4. TeamCity's SSH key management only integrates with the SSH Upload and SSH Exec build steps, and it isn't clear how to, like, install an SSH key for use in an arbitrary shell script build step. unfortunately, this is another thing sourcehut gets right - SSH keys are just another kind of secret, and if you say you depend on it, it gets properly set up, and you're set.
  5. TeamCity's arbitrary shell script build step doesn't default to set -e, so if you have five commands and the first one fails, the rest will just keep running. this is very stupid.

i am now curious how this would go with Jenkins. although i know i gotta check that i'm not using the default admin credentials, i don't want to get holy fucking bingled


  1. Although Apparently The Fuck Not Oops

You must log in to comment.