缓存对于自托管运行者是否有用

问题描述 投票:0回答:1

我正在使用自托管运行程序来构建 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 文件夹?

maven continuous-integration sonarqube github-actions
1个回答
0
投票

这个项目似乎是一个可行的选择。它修补二进制文件,以便运行程序使用本地缓存服务器。

https://github.com/falcondev-oss/github-actions-cache-server

© www.soinside.com 2019 - 2024. All rights reserved.