Gitlab CI/CD runner : mvn command not found

橙三吉。 提交于 2019-12-11 09:13:33

问题


Maven is well installed on my gitlab-runner server. When executing mvn clean directly on my repo it works, when running my pipeline using Gitlab UI got this error :

bash: line 60: mvn: command not found

ERROR: Job failed: exit status 1

I notice that I tried to fix the problem by adding the before_script section in the .gitlab-ci.yml file :

before_script:    
- export MAVEN_HOME=/usr/local/apache-maven

I add also the line :

environment = ["MAVEN_HOME=/usr/local/apache-maven"]

on the config.toml file.

the problem still persist, my executor is : shell.

Any advice!


回答1:


I managed to fix the problem using this workaround:

  script:
    - $MAVEN_HOME/bin/mvn clean



回答2:


Just add the maven docker image, add below line as first line:

image: maven:latest or image: maven:3-jdk-10 or image: maven:3-jdk-9

refer: https://docs.gitlab.com/ee/ci/examples/artifactory_and_gitlab/




回答3:


Add maven to PATH:

$ export M2_HOME=/usr/local/apache-maven/apache-maven-3.3.9

$ export M2=$M2_HOME/bin

$ export PATH=$M2:$PATH 

You can include these commands in $HOME/.bashrc




回答4:


I hope you had figure out your question. I met the same question when I build my ci on my server.

I use the shell as the executer for my Runner. here are the steps to figure out.

1 check the user on the runner server

if you had install maven on the runner server successfully, maybe it just successful for the root, u can check the real user for the ci process.

job1:
  stage: test
  script:  whoami

if my case, it print gitlab-runner, not the root

2 su the real user, check mvn again

In this time, it print error as same as the Gitlab ci UI.

3 install maven for the real user. run the pipeline again.



来源:https://stackoverflow.com/questions/52535771/gitlab-ci-cd-runner-mvn-command-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!