JSPM

serverless-docker-artifacts

0.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 2907
  • Score
    100M100P100Q171239F
  • License BSD-2-Clause

Serverless Docker Artifacts plugin

Package Exports

  • serverless-docker-artifacts

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (serverless-docker-artifacts) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Serverless Docker Artifacts plugin

A Serverless 1.x plugin to build your artifacts within docker container.

Installation and Usage

npm install --save serverless-docker-artifacts

Add the plugin to your serverless.yml file and configure:

plugins:
  - serverless-docker-artifacts

custom:
  dockerArtifact:
    path: '.'                        # Defaults to '.'
    dockerfile: Dockerfile-tesseract # Defaults to 'Dockerfile'
    args:                            # Pass args with --build-arg
      TESSERACT_VERSION: 4.0.0
      TESSDATA: "osd eng rus"
    copy: tesseract-standalone       # Not affected by path

  # If you have more than one
  dockerArtifacts:
    - path: build/somelib
      copy: somelib
    - path: build/tool
      copy: tool-portable

Then run sls deploy or sls package as usual.

Extra commands

This plugin defines commands to manufacture and clean artifacts without packaging them:

sls dockart create                # Build all artifacts
SLS_DEBUG="*" sls dockart create  # Same, showing all the process

sls dockart clean        # Delete artifacts
sls dockart clean-docker # Delete docker images and containers

Note that if you are debugging a dockerfile you probaly have lots of dangling images and their containers. These are not removed by sls dockart clean-docker, you need to handle it yourself.

API for your plugins

const dockart = require('serverless-docker-artifacts');

// Create an artifact
dockart.createArtifact({
    path: 'path/to/',
    dockerfile: 'Dockerfile',
    args: {...},
    copy: 'some-dir',
})

// Remove containers and images
dockart.cleanDocker()