All Projects → satackey → Action Docker Layer Caching

satackey / Action Docker Layer Caching

Licence: mit
🐳 Enable Docker layer caching in GitHub Actions

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Action Docker Layer Caching

Opendevops
CODO是一款为用户提供企业多混合云、一站式DevOps、自动化运维、完全开源的云管理平台、自动化运维平台
Stars: ✭ 2,990 (+1768.75%)
Mutual labels:  ci, cd, docker-compose
Docker Builder
Docker builder builds Docker images from a friendly config file.
Stars: ✭ 81 (-49.37%)
Mutual labels:  ci, cd
Gitlab Ci Dashboard
📊 Dashboard for monitoring GitLab CI builds and pipelines for TV
Stars: ✭ 79 (-50.62%)
Mutual labels:  ci, cd
Pipelines
Build pipelines for automation, deployment, testing...
Stars: ✭ 105 (-34.37%)
Mutual labels:  ci, cd
Ic
去哪儿公司内部CI、CD以及devops体系建设过程中使用的消息系统和数据中心。由于其基于HTTP协议的特性,具有跨平台、跨语言的优点。而devops体系搭建中,会引入各种开源工具,这些工具的语言差异也很大。基于IC,我们不仅快速实现了流程自动化,而且系统解耦,自动化进程大大提高。
Stars: ✭ 73 (-54.37%)
Mutual labels:  ci, cd
Git Release
Publish a GitHub Release 📦 with Assets 📁 and Changelog 📄
Stars: ✭ 77 (-51.87%)
Mutual labels:  ci, cd
Orkestra
Functional DevOps with Scala and Kubernetes
Stars: ✭ 102 (-36.25%)
Mutual labels:  ci, cd
Abs cd
CI/CD for the Arch build system with webinterface.
Stars: ✭ 48 (-70%)
Mutual labels:  ci, cd
Lastbackend
System for containerized apps management. From build to scaling.
Stars: ✭ 1,536 (+860%)
Mutual labels:  ci, cd
Dcind
Docker image with Docker Compose. Useful as a base image for integration tests in Concourse CI.
Stars: ✭ 128 (-20%)
Mutual labels:  ci, docker-compose
Kubectl
A Github action for kubectl, the Kubernetes CLI
Stars: ✭ 128 (-20%)
Mutual labels:  ci, cd
Jmeter Elasticsearch Backend Listener
JMeter plugin that lets you send sample results to an ElasticSearch engine to enable live monitoring of load tests.
Stars: ✭ 72 (-55%)
Mutual labels:  ci, cd
K8s Config Projector
Create Kubernetes ConfigMaps from configuration files
Stars: ✭ 61 (-61.87%)
Mutual labels:  ci, cd
Documentation
Documentation for Codeship CI & CD service
Stars: ✭ 78 (-51.25%)
Mutual labels:  ci, cd
Metac
It is metacontroller and more
Stars: ✭ 50 (-68.75%)
Mutual labels:  ci, cd
Rain
🌧️ A live example to illustrate python packaging, testing, building, & deploying
Stars: ✭ 99 (-38.12%)
Mutual labels:  ci, cd
Gitlab Ci Local
Tired of pushing to test your .gitlab-ci.yml?
Stars: ✭ 134 (-16.25%)
Mutual labels:  ci, cd
Cimonitor
Displays CI statuses on a dashboard and triggers fun modules representing the status!
Stars: ✭ 34 (-78.75%)
Mutual labels:  ci, cd
Infrabox
Stars: ✭ 45 (-71.87%)
Mutual labels:  ci, docker-compose
Flint
Fast and configurable filesystem (file and directory names) linter
Stars: ✭ 115 (-28.12%)
Mutual labels:  ci, cd

Docker Layer Caching in GitHub Actions Readme Test status is unavailable CI status is unavailable

Enable Docker Layer Caching by adding a single line in GitHub Actions. This GitHub Action speeds up the building of docker images in your GitHub Actions workflow.

You can run docker build and docker-compose build in your GitHub Actions workflow using the cache with no special configuration, and it also supports multi-stage builds.

This GitHub Action uses the docker save / docker load command and the @actions/cache library.

⚠️ Deprecation Notice for v0.0.4 and older ⚠️

The author had not considered a large number of layers to be cached, so those versions process all layers in parallel. (#12)
Please update to version v0.0.5 with limited concurrency to avoid overloading the cache service.

Example workflows

Docker Compose

name: CI

on: push

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/[email protected]

    # Pull the latest image to build, and avoid caching pull-only images.
    # (docker pull is faster than caching in most cases.)
    - run: docker-compose pull

    # In this step, this action saves a list of existing images,
    # the cache is created without them in the post run.
    # It also restores the cache if it exists.
    - uses: satackey/[email protected]
      # Ignore the failure of a step and avoid terminating the job.
      continue-on-error: true

    - run: docker-compose up --build

    # Finally, "Post Run satackey/[email protected]",
    # which is the process of saving the cache, will be executed.

docker build

name: CI

on: push

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/[email protected]

    # In this step, this action saves a list of existing images,
    # the cache is created without them in the post run.
    # It also restores the cache if it exists.
    - uses: satackey/[email protected]
      # Ignore the failure of a step and avoid terminating the job.
      continue-on-error: true

    - name: Build the Docker image
      run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)

    # Finally, "Post Run satackey/[email protected]",
    # which is the process of saving the cache, will be executed.

Inputs

See action.yml for details.

By default, the cache is separated by the workflow name. You can also set the cache key manually, like the official actions/cache action.

    - uses: satackey/[email protected]
      # Ignore the failure of a step and avoid terminating the job.
      continue-on-error: true
      with:
        key: foo-docker-cache-{hash}
        restore-keys: |
          foo-docker-cache-

Note: You must include {hash} in the key input. ({hash} is replaced by the hash value of the docker image when the action is executed.)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].