nammayatri / jenkins-config

NixOS configuration for Nammayatri Jenkins CI machines
GNU Affero General Public License v3.0
3 stars 1 forks source link

CI configurations

Nammayatri uses Jenkins for CI. This repository contains the NixOS configuration for the master node and the macOS slave node. It uses jenkins-nix-ci under the hood.

Deploying

First enter the nix shell (via direnv or nix develop) and then run:

To deploy the master node,

deploy --remote-build -s .#nixos

NetworkManager issues

NOTE: If deploying fails with rollback on NetworkManager issues, see https://github.com/serokell/deploy-rs/issues/91#issuecomment-846292218.

To deploy the macOS slave node,

deploy --remote-build -s .#macos

Local build

For linux,

nix build .#nixosConfigurations.jenkins-nix-ci.config.system.build.toplevel

FAQ

Jenkins is not accessible

You will see something like This site can't be reached.

  1. Connect to Tailscale and see if it is accessible in VPN
  2. SSH to the machine
  3. Run sudo systemctl restart tailscaled.service