serverless-docker-artifacts

0.1.1 • Public • Published

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()

Package Sidebar

Install

npm i serverless-docker-artifacts

Weekly Downloads

1,269

Version

0.1.1

License

BSD-2-Clause

Unpacked Size

8.11 kB

Total Files

5

Last publish

Collaborators

  • suor