JHipster GitLab CI权限被拒绝。

3
我使用命令“#jhipster ci-cd”生成.gitlab-ci.yml文件,以便将其推送到Gitlab并部署到Heroku。
但是maven编译失败,错误信息为“./mvnw:权限被拒绝”。
Checking out a5400e45 as master...
Skipping Git submodules setup
Checking cache for master...
FATAL: file does not exist                         
Failed to extract cache
$ export MAVEN_USER_HOME=`pwd`/.maven
$ ./mvnw com.github.eirslett:frontend-maven-plugin:install-node-and-npm -DnodeVersion=v10.13.0 -DnpmVersion=6.4.1 -Dmaven.repo.local=$MAVEN_USER_HOME
/bin/bash: line 73: ./mvnw: Permission denied
ERROR: Job failed: exit code 1

我不知道为什么权限被拒绝。我使用Windows 10创建JHipster项目。
2个回答

3
在你的 .gitlab-ci.yml 文件中添加以下内容:
image: openjdk:8

[ ... ]

before_script:
    - chmod +x mvnw
    - export MAVEN_USER_HOME=`pwd`/.maven
    - ./mvnw com.github.eirslett:frontend-maven-plugin:install-node-and-npm -DnodeVersion=v10.13.0 -DnpmVersion=6.4.1 -Dmaven.repo.local=$MAVEN_USER_HOME
    - ./mvnw com.github.eirslett:frontend-maven-plugin:npm -Dmaven.repo.local=$MAVEN_USER_HOME

权限问题可能是因为使用了Windows 10。通常,执行权限应该在git存储库中,因此在示例项目中我不需要使用chmod。也许我们应该将其作为注释添加到生成的GitLab CI配置中。 - atomfrede

0

简而言之;
在您的项目文件夹下,在本地计算机上运行以下命令:

git update-index --chmod=+x mvnw

请确保从您的 .gitlab-ci.yml 文件中删除脚本 chmod +x mvnw。 推送更改,然后一切都会正常工作。


我尝试了其他答案中提到的解决方案,即在before_script部分运行chmod +x mvnw,但是由于没有权限,所以它不起作用。

这个问题已经在jhipster生成器的github存储库这里中讨论过。浏览该页面,您将找到解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接