- Installing
- macOS troubleshooting
GitLab Runner can be installed and updated on macOS.
Installing
There are two methods for installing GitLab Runner on macOS:
Install Compose on Linux systems. On Linux, you can download the Docker Compose binary from the Compose repository release page on GitHub.Follow the instructions from the link, which involve running the curl command in your terminal to download the binaries. Docker-credential-helpers is a suite of programs to use native stores to keep Docker credentials safe. Go to the Releases page and download the binary that works better for you. The Docker Desktop installation includes Docker Engine, Docker CLI client, Docker Compose, Notary, Kubernetes, and Credential Helper. Install and run Docker Desktop on Mac Double-click Docker.dmg to open the installer, then drag the Docker icon to the Applications folder. Install GitLab Runner on macOS. GitLab Runner can be installed and updated on macOS. There are two methods for installing GitLab Runner on macOS: Manual installation. This method is officially supported and recommended by GitLab. Homebrew installation. Install with Homebrew as an alternative to manual installation.
- Manual installation. This method is officially supported and recommended by GitLab.
- Homebrew installation. Install with Homebrew as an alternative to manual installation.
Manual installation (official)
Download the binary for your system: Jupyter notebook download for mac.
You can download a binary for every available version as described inBleeding Edge - download any other tagged release.
Give it permissions to execute:
The rest of the commands should execute as the user who will run the runners.
- When you build iOS or macOS applications on macOS, use the shell executor.The build and tests run as the identity of the logged-in user, directly on the build host.It does not run in a container. This is less secure than using container executors. For more information, see thesecurity implications documentationfor additional detail on what to keep in mind in this scenario.
Install GitLab Runner as a service and start it:
GitLab Runner is installed and will be run after a system reboot.
Homebrew installation (alternative)
A Homebrew formula is available to install GitLab.
To install GitLab Runner using Homebrew:
Install GitLab Runner.
Install GitLab Runner as a service and start it.
GitLab Runner is installed and running.
Limitations on macOS
Currently, the only proven way for it to work in macOS is by running the service in user-mode.
Since the service will be running only when the user is logged in, you shouldenable auto-login on your macOS machine.
The service will be launched as a LaunchAgent
. By using LaunchAgents
,the builds will be able to perform UI interactions, making it possible to run andtest in the iOS simulator.
It’s worth noting that macOS also has LaunchDaemons
, services runningcompletely in background. LaunchDaemons
are run on system startup, but theydon’t have the same access to UI interactions as LaunchAgents
. You can try torun the Runner’s service as a LaunchDaemon
, but this mode of operation is notcurrently supported.
You can verify that GitLab Runner created the service configuration file afterexecuting the install
command, by checking the~/Library/LaunchAgents/gitlab-runner.plist
file.
If Homebrew was used to install git
, it may have added a /usr/local/etc/gitconfig
filecontaining:
This tells Git to cache user credentials in the keychain, which may not be what you wantand can cause fetches to hang. You can remove the line from the system gitconfig
with:
Alternatively, you can just disable credential.helper
for the GitLab user:
You can check the status of the credential.helper
with:
Manual update
Stop the service:
Download the binary to replace the GitLab Runner executable:
You can download a binary for every available version as described inBleeding Edge - download any other tagged release.
Give it permissions to execute:
Start the service:
Make sure that you read the FAQ section which describessome of the most common problems with GitLab Runner.
Upgrade the service file
In order to upgrade the LaunchAgent
configuration, you need to uninstall andinstall the service:
Using codesign with the GitLab Runner Service
If you installed gitlab-runner
on macOS with homebrew and your build callscodesign
, you may need to set <key>SessionCreate</key><true/>
to haveaccess to the user keychains. In the following example we run the builds as the gitlab
user and want access to the signing certificates installed by that user for codesigning:
macOS troubleshooting
The following relate to troubleshooting on macOS.
'launchctl' failed: exit status 112, Could not find domain for
This message may occur when you try to install GitLab Runner on macOS. Make surethat you manage GitLab Runner service from the GUI Terminal application, notthe SSH connection.
Failed to authorize rights (0x1) with status: -60007.
If GitLab Runner is stuck on the above message when using macOS, there are twocauses to why this happens:
Make sure that your user can perform UI interactions:
The first command enables access to developer tools for your user.The second command allows the user who is member of the developer group todo UI interactions, e.g., run the iOS simulator.
Make sure that your GitLab Runner service doesn’t use
SessionCreate = true
.Previously, when running GitLab Runner as a service, we were creatingLaunchAgents
withSessionCreate
. At that point (Mavericks), this wasthe only solution to make Code Signing work. That changed recently withOS X El Capitan which introduced a lot of new security features thataltered this behavior.Since GitLab Runner 1.1, when creating aLaunchAgent
, we don’t setSessionCreate
. However, in order to upgrade, you need to manuallyreinstall theLaunchAgent
script:Then you can verify that
~/Library/LaunchAgents/gitlab-runner.plist
hasSessionCreate
set tofalse
.
fatal: unable to access 'https://path:3000/user/repo.git/': Failed to connect to path port 3000: Operation timed out
error in the job
If one of the jobs fails with this error, make sure the runner can connect to your GitLab instance. The connection could be blocked by things like:
- firewalls
- proxies
- permissions
- routing configurations
Help & feedback
Docs
Edit this pageto fix an error or add an improvement in a merge request.Create an issueto suggest an improvement to this page.
Show and post commentsto review and give feedback about this page.
Product
Create an issueif there's something you don't like about this feature.Propose functionalityby submitting a feature request.
Join First Lookto help shape new features.
Feature availability and product trials
View pricingto see all GitLab tiers and features, or to upgrade.Try GitLab for freewith access to all features for 30 days.
Get Help
If you didn't find what you were looking for,search the docs.
If you want help with something specific and could use community support,post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLabsubscription).
Rclone is a Go program and comes as a single binary file.
Quickstart
- Download the relevant binary.
- Extract the
rclone
orrclone.exe
binary from the archive - Run
rclone config
to setup. See rclone config docs for more details.
See below for some expanded Linux / macOS instructions.
See the Usage section of the docs for how to use rclone, orrun rclone -h
.
Script installation
To install rclone on Linux/macOS/BSD systems, run:
Google classroom app macbook. For beta installation, run:
Hp Laserjet P1108 Driver free download - HP LaserJet Pro P1102 Printer Driver, hp LaserJet 1000, hp LaserJet 1320 PCL6, and many more programs. Hp laserjet p1108 driver for mac.
Note that this script checks the version of rclone installed first andwon't re-download if not needed.
Linux installation from precompiled binary
Fetch and unpack
Copy binary file
Install Docker On Osx 10.10
Install manpage
Run rclone config
to setup. See rclone config docs for more details.
macOS installation with brew
macOS installation from precompiled binary, using curl
To avoid problems with macOS gatekeeper enforcing the binary to be signed andnotarized it is enough to download with curl
.
Download the latest version of rclone.
Unzip the download and cd to the extracted folder.
Move rclone to your $PATH. You will be prompted for your password.
(the mkdir
command is safe to run, even if the directory already exists).
Remove the leftover files.
Run rclone config
to setup. See rclone config docs for more details.
macOS installation from precompiled binary, using a web browser
When downloading a binary with a web browser, the browser will set the macOSgatekeeper quarantine attribute. Starting from Catalina, when attempting to runrclone
, a pop-up will appear saying:
The simplest fix is to run
Install with docker
The rclone maintains a docker image for rclone.These images are autobuilt by docker hub from the rclone source basedon a minimal Alpine linux image.
The :latest
tag will always point to the latest stable release. Youcan use the :beta
tag to get the latest build from master. You canalso use version tags, e.g. :1.49.1
, :1.49
or :1
.
There are a few command line options to consider when starting an rclone Docker containerfrom the rclone image.
You need to mount the host rclone config dir at
/config/rclone
into the Dockercontainer. Due to the fact that rclone updates tokens inside its config file, and thatthe update process involves a file rename, you need to mount the whole host rcloneconfig dir, not just the single host rclone config file.You need to mount a host data dir at
/data
into the Docker container.By default, the rclone binary inside a Docker container runs with UID=0 (root).As a result, all files created in a run will have UID=0. If your config and data filesreside on the host with a non-root UID:GID, you need to pass these on the containerstart command line.
If you want to access the RC interface (either via the API or the Web UI), it isrequired to set the
--rc-addr
to:5572
in order to connect to it from outsidethe container. An explanation about why this is necessary is present here.- NOTE: Users running this container with the docker network set to
host
shouldprobably set it to listen to localhost only, with127.0.0.1:5572
as the value for--rc-addr
- NOTE: Users running this container with the docker network set to
It is possible to use
rclone mount
inside a userspace Docker container, and exposethe resulting fuse mount to the host. The exactdocker run
options to do that mightvary slightly between hosts. See, e.g. the discussion in thisthread.You also need to mount the host
/etc/passwd
and/etc/group
for fuse to work insidethe container.
Here are some commands tested on an Ubuntu 18.04.3 host:
Install from source
Make sure you have at least Go 1.12installed. Download go if necessary. Thelatest release is recommended. Then
This will leave you a checked out version of rclone you can modify andsend pull requests with. If you use make
instead of go build
thenthe rclone build will have the correct version information in it.
You can also build the latest stable rclone with:
or the latest version (equivalent to the beta) with
These will build the binary in $(go env GOPATH)/bin
(~/go/bin/rclone
by default) after downloading the source to the gomodule cache. Note - do not use the -u
flag here. This causes goto try to update the dependencies that rclone uses and sometimes thesedon't work with the current version of rclone.
Installation with Ansible
This can be done with Stefan Weichinger's ansiblerole.
Instructions
Install Docker On Macos Big Sur
git clone https://github.com/stefangweichinger/ansible-rclone.git
into your local roles-directory- add the role to the hosts you want rclone installed to: