当我的构建工作流程被触发时,Maven 依赖项会被下载。
Travis CI 提供了一种缓存 Maven 存储库的方法。Github actions 是否提供类似的功能来缓存 Maven 存储库?
当我的构建工作流程被触发时,Maven 依赖项会被下载。
Travis CI 提供了一种缓存 Maven 存储库的方法。Github actions 是否提供类似的功能来缓存 Maven 存储库?
steps:
# Typical Java workflow steps
- uses: actions/checkout@v1
- name: Set up JDK 11
uses: actions/setup-java@v1
with:
java-version: 11
# Step that does that actual cache save and restore
- uses: actions/cache@v1
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
# Step that runs the tests
- name: Run tests
run: mvn test
请查看此页面以获取更多详细信息。
- name: Cache local Maven repository
uses: actions/cache@v2
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
取自官方 github 示例:https://github.com/actions/cache/blob/master/examples.md#java---maven
对于Maven,您现在可以使用 setup-java
来缓存依赖项。例如:
- uses: actions/setup-java@v2.3.1
name: Install Java
with:
java-version: 8
distribution: 'adopt'
cache: 'maven'
node
,python
和ruby
。我开始使用skjolber的Maven Cache Github Action,详情请见https://github.com/marketplace/actions/maven-cache。我的第一次测试结果非常好。首次构建从Maven Central下载了依赖项;随后的构建在缓存中找到了依赖项。
mvn install
安装项目构件,下一次构建时,hashver-maven-plugin将找到未受影响的模块构件并跳过它们。