mirror of
https://code.forgejo.org/actions/cache.git
synced 2025-04-16 16:01:22 +02:00
Add docker layer caching example
This commit is contained in:
parent
ecf6eea708
commit
a90d1a0f71
1 changed files with 27 additions and 0 deletions
27
examples.md
27
examples.md
|
@ -1,6 +1,7 @@
|
||||||
# Examples
|
# Examples
|
||||||
|
|
||||||
- [C# - Nuget](#c---nuget)
|
- [C# - Nuget](#c---nuget)
|
||||||
|
- [Docker](#docker)
|
||||||
- [Elixir - Mix](#elixir---mix)
|
- [Elixir - Mix](#elixir---mix)
|
||||||
- [Go - Modules](#go---modules)
|
- [Go - Modules](#go---modules)
|
||||||
- [Java - Gradle](#java---gradle)
|
- [Java - Gradle](#java---gradle)
|
||||||
|
@ -157,3 +158,29 @@ Using [NuGet lock files](https://docs.microsoft.com/nuget/consume-packages/packa
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-pods-
|
${{ runner.os }}-pods-
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Docker
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- uses: actions/cache@preview
|
||||||
|
id: cache
|
||||||
|
with:
|
||||||
|
path: docker-cache
|
||||||
|
key: ${{ runner.os }}-docker-${{ hashFiles('**/Dockerfile') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-docker-
|
||||||
|
- name: Load cached Docker layers
|
||||||
|
run: |
|
||||||
|
if [ -d "docker-cache" ]; then
|
||||||
|
cat docker-cache/x* > my-image.tar
|
||||||
|
docker load < my-image.tar
|
||||||
|
rm -fr docker-cache
|
||||||
|
fi
|
||||||
|
- name: Build image
|
||||||
|
if: steps.cache.outputs.cache-hit != 'true'
|
||||||
|
run: |
|
||||||
|
docker build --cache-from my-image -t my-image .
|
||||||
|
docker save my-image > my-image.tar
|
||||||
|
mkdir docker-cache
|
||||||
|
split -b 100m my-image.tar docker-cache/x
|
||||||
|
```
|
||||||
|
|
Loading…
Add table
Reference in a new issue