0.0.2 • Published 7 years ago

grunt-dockerize v0.0.2

Weekly downloads
4
License
-
Repository
github
Last release
7 years ago

grunt-dockerize

Task plugin for grunt that builds and pushs docker images.

Getting Started

This plugin requires Grunt ^1.0.1

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-dockerize --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-dockerize');

The "grunt-dockerize" task

Overview

In your project's Gruntfile, add a section named dockerize to the data object passed into grunt.initConfig().

grunt.initConfig({
  dockerize: {
      image01: {
        options: {
          auth: {
            email: "DOCKER_HUB_EMAIL",
            username: "DOCKER_HUB_USERNAME",
            password: "DOCKER_HUB_PASSWORD"
          },
          name: 'image01',
          push: true
        }
      },
});

Options

{
    registry: 'https://registry.hub.docker.com', //NOT SUPPORTED YET
    auth: {
      email: 'DOCKER_HUB_EMAIL',
      username: 'DOCKER_HUB_USERNAME',
      password: 'DOCKER_HUB_PASSWORD'
    },
    name: this.target,
    push: false,
    tag: 'latest'
}

options.auth

options.auth contains the name of evironment variables that will be used for logging in docker hub. Also, auth.username will be used for build the name of docker image, auth.username/options.name = darteaga/image01

NameTypeDescription
emailStringRequired. The name of evironment variable that contains the value of email. By default, its value is DOCKER_HUB_EMAIL and grunt-dockerize will expect a value on process.env"DOCKER_HUB_EMAIL".
usernameStringRequired. The name of evironment variable that contains the value of username. By default, its value is DOCKER_HUB_USERNAME and grunt-dockerize will expect a value on process.env"DOCKER_HUB_USERNAME".
passwordStringRequired. The name of evironment variable that contains the value of password. By default, its value is DOCKER_HUB_PASSWORD and grunt-dockerize will expect a value on process.env"DOCKER_HUB_PASSWORD".

Example:

auth: {
    email: "DOCKER_HUB_EMAIL",
    username: "DOCKER_HUB_USERNAME",
    password: "DOCKER_HUB_PASSWORD"
  }

options.name

NameTypeDescription
nameStringRequired. A string value that will be used such as the image name. By default, It is used this.target.

options.push

NameTypeDescription
pushBooleanRequired. A boolean value that is used to decide if the built image is pushed. By befault, it is false.

options.tag

NameTypeDescription
tagStringRequired. A string value that is used for the image tag. By befault, it is latest.

Usage Examples

Custom Options

In this example, custom options are used to build an push a docker image

WARNING. Remember that you must have a 'Dockerfile' in current directory.

grunt.initConfig({
  dockerize: {
    image01: {
      options: {
        auth: {
          email: "DOCKER_HUB_EMAIL",
          username: "DOCKER_HUB_USERNAME",
          password: "DOCKER_HUB_PASSWORD"
        },
        name: 'image01',
        push: true
      }
    },
});

Run:

grunt dockerize

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Latest release

The version 0.0.1 is the latest stable version of grunt-dockerize component. see release note for details.

For running:

  • Download latest version from 0.0.1