Reputation: 141
Does anyone know how to resolve "Missing gitlab-runner. Uploading artifacts is disabled."
I have two ssh runner on my server. One for local ssh runner and another one is remote server ssh runner. The local ssh runner working perfectly. But when I call the remote shh runner it's building successfully but it shows "Missing gitlab-runner. Uploading artifacts is disabled." so that I'm not able to call the artifact in the next stage.
The gitlab-ci.yml file looks like this:
stages:
- build
- deploy
cache:
paths:
- .gradle/wrapper
- .gradle/caches
build:
stage: build
script:
- build script
artifacts:
paths:
- build/
only:
- master
deploy:
stage: deploy
script:
- deploy script
dependencies:
- build
only:
- master
Upvotes: 5
Views: 5677
Reputation: 21
We have an Alpha machine where gitlab-runner is not supported. Tim Bishop wrote a shell script to mimic the behavior of gitlab-runner. Download the script and rename to gitlab-runner
and put it into /usr/bin
, then it should work.
Using artifacts with gitlab-runner’s SSH executor | Tim Bishop
libstatgrab-ci/gitlab-runner-shim.sh at master · libstatgrab/libstatgrab-ci
Upvotes: 0
Reputation: 1
I wish there was another workaround for this. My use case for SSH executor is for IBM i platform, which currently doesn't have a runtime for GO, so unfortunately installing gitlab-runner on this server is not an option.
My work-around is to put complicated ssh logic in a non ssh-executor runner that performs the ssh connection manually, runs commands over ssh, then scp's or sftp's the artifacts back to the runner at the end of the script, after the build logic has been executed. Its very cumbersome.
Upvotes: 0
Reputation: 1
You can put the gitlab-runner
in the path ~/bin
and add ~/bin
to your variable PATH.
Upvotes: 0
Reputation: 176
You need to install gitlab-runner
also on the ssh target host. Gitlab somehow needs this to upload artifacts. This is also documented now: https://docs.gitlab.com/runner/executors/ssh.html:
If you want to upload job artifacts, install
gitlab-runner
on the host you are connecting to via SSH.
Upvotes: 3