Github Actions Gradle构建时写入~/.m2/settings.xml遭遇EPERM权限禁止问题求助
Github Actions Gradle构建时写入~/.m2/settings.xml遭遇EPERM权限禁止问题求助
各位好,我正在搭建一个Github Actions工作流,用来构建Java项目并生成测试报告,当前的工作流逻辑很简单,但遇到了一个权限相关的错误,想请大家帮忙排查一下。
遇到的错误信息:
Overwriting existing file /home/runners/.m2/settings.xml
Error: EPERM: operation not permitted, open '/home/runners/.m2/settings.xml'
我当前使用的工作流代码:
name: Java Gradle Build on: push: branches: - master - githubActions jobs: build: name: Run build with Gradle runs-on: eg-default steps: - name: Checkout uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.sha }} - name: Setup Java SDK uses: actions/setup-java@v3 with: java-version: '17' distribution: 'temurin' - name: Run unit and integration tests run: ./gradlew clean test - name: Publish Test Report uses: actions/upload-artifact@v2 if: always() # always run even if the previous step fails with: name: Test Reports path: build/test-results
我的疑问和排查方向
目前我猜测可能是actions/setup-java@v3步骤尝试修改全局的settings.xml时没有足够权限,或者是我使用的自定义运行器eg-default本身的文件权限配置有问题?有没有朋友遇到过类似情况,能给我一些建议?比如:
- 是否可以在setup-java步骤中添加配置,避免修改全局的
settings.xml? - 自定义运行器
eg-default的用户权限该怎么调整? - 有没有办法让Gradle改用项目本地的配置,不依赖全局的
settings.xml?
备注:内容来源于stack exchange,提问作者Rajesh Lohith
相关产品推荐
相关产品推荐

