我正在使用自托管运行程序来构建 Maven 项目。在与 sonarqube 集成时,我遇到了
action/cache
- name: Cache SonarQube packages
uses: actions/cache@v1
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Maven packages
uses: actions/cache@v1
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Build and analyze
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=XYZ
虽然理论上我理解使用 Github 运行器时需要重用依赖项(因为它们都是干净的),但我很困惑使用自托管运行器时是否有任何相关性。工作流程运行后,〜/.m2 文件夹不会在我的运行程序实例中被清除。那么是否需要保存(缓存).m2 或 .sonar 文件夹?
这个项目似乎是一个可行的选择。它修补二进制文件,以便运行程序使用本地缓存服务器。
https://github.com/falcondev-oss/github-actions-cache-server