JHipster GitLab CI 权限被拒绝

JHipster GitLab CI Permission denied

我使用命令“#jhipster ci-cd”生成文件 .gitlab-ci.yml 用于在 Gitlab 上推送并部署到 Heroku。

但 maven 编译因“./mvnw: Permission denied”而失败

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 项目。

在你的 .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

TL;DR;
运行 在项目文件夹下的本地计算机中执行以下命令:

git update-index --chmod=+x mvnw

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


我已经尝试了另一个答案中提到的解决方案,即 before_script 部分中的 运行 chmod +x mvnw 但它不起作用,因为 chmod 是不允许的。

这个问题已经在 jhipster 生成器 github 存储库 here 中讨论过。浏览页面然后你会找到解决方案。