santhoshRenga
santhoshRenga

Reputation: 141

Uploading artifacts is disabled

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

Answers (4)

S.Demon
S.Demon

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

John Weirich
John Weirich

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

user2093680
user2093680

Reputation: 1

You can put the gitlab-runner in the path ~/bin and add ~/bin to your variable PATH.

Upvotes: 0

Sethos II
Sethos II

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

Related Questions