First see Adding Github Actions to a repo
You will need an on-prem machine and service account to run the runner. Please contact escp-ticket@tufts.edu to create these.
After you’re able to login to the machine, and become the service account (i.e. sudo su - gitrunner1
), open a web browser and browse to your repository.
In your web browser, browse to your repository.
Go to Settings > Actions > Runners > New Self-Hosted Runner.
It will give you a series of commands to paste into the terminal, downloading and extracting a tarball. Then when you get to the
config
line, here are additional instructions:$ ./config.sh --url [...] # !!!! # !!!! When prompted for name of runner group, just press enter for default. # !!!! When prompted for name of runner, use hostname_username, for example, myhost-dev-01_gitrunner1 # !!!! When prompted for additional labels, just press enter for default. # !!!! When prompted for work folder, press Enter for default _work # !!!! # !!!!!! DON'T DO THIS! This will launch the runner once in the terminal, # !!!!!! and it will die when you logout. Instead, see below # Last step, run it! $ ./run.sh # (Yes, do this). To run as a service: # as root: # In the following, Don't just copy and paste. Edit before doing it. # runasuser=gitrunnerX # cd /home/${runasuser}/actions-runner # ./svc.sh install ${runasuser} # It will create a service, and display the service name. You can start, such as: # systemctl enable --now actions.runner.Tufts-Technology-Services.myhost-dev-01_${runasuser} # TODO!! # selinux will block the runner. # Going to have to do some of this: # https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/sect-security-enhanced_linux-working_with_selinux-selinux_contexts_labeling_files#sect-Security-Enhanced_Linux-SELinux_Contexts_Labeling_Files-Persistent_Changes_semanage_fcontext