Update Self-hosted Runner
When a new version of self-hosted runner is released, you can update runner with below steps.
1. Update Runner
Download and extract the latest self-hosted runner package.
- macOS arm64
- macOS x64
- Linux x64
curl -O -L https://cdn.appcircle.io/self-hosted/runner/appcircle-runner-osx-arm64-1.7.0.zip
Extract self-hosted runner package.
unzip -o -u appcircle-runner-osx-arm64-1.7.0.zip
curl -O -L https://cdn.appcircle.io/self-hosted/runner/appcircle-runner-osx-x64-1.7.0.zip
Extract self-hosted runner package.
unzip -o -u appcircle-runner-osx-x64-1.7.0.zip
curl -O -L https://cdn.appcircle.io/self-hosted/runner/appcircle-runner-linux-x64-1.7.0.zip
Extract self-hosted runner package.
unzip -o -u appcircle-runner-linux-x64-1.7.0.zip
Change directory into extracted appcircle-runner
folder for following steps.
cd appcircle-runner
2. Reconfigure Runner
Self-hosted runner updates may include tool upgrades or introduce new required tools for build pipeline. So we need to rerun configuration step same as before. It will check installed tools quickly, and will update only required tools.
Using an Up-to-Date Runner with an Out-of-Date Server
By default, the latest runner (1.7.0
or later) is compatible with the Appcircle server 3.18.0
or later. For this reason, if you are installing the latest runner or upgrading the runner from older versions and using an older server, you need to make extra configurations.
To make the Appcircle runner compatible with an older server, you must change the two settings below in the Appcircle runner appsettings.json
, which will make it compatible with older servers.
echo "$(jq '.ASPNETCORE_SEND_BUILD_LOG_TO_REDIS="false"' appsettings.json)" > appsettings.json && \
echo "$(jq '.ASPNETCORE_WORKFLOW_UPDATES_DISABLED="false"' appsettings.json)" > appsettings.json
To remember what configuration step was, please refer to this page.
3. Reinstall Service
Although we change self-hosted runner files with above steps, we need to restart runner service in order to activate latest updates.
Some updates may also contain systemd or launchd service updates. For this reason, on every update, reinstalling service is suggested.
Reinstalling service also contains runner restart operations and doesn't affect self-hosted runner logs or produced artifacts.
In order to reinstall systemd or launchd service, first uninstall and then install service with below commands.
./ac-runner service -c uninstall
./ac-runner service -c install
When you complete update successfully, you will see updated version in "Self-hosted Runners" list in here.
./ac-runner --version