Network Processor Module

    @cutting/nexus-deployer

    0.4.0 • Public • Published

    nexus-deployer

    Nexus Artifact Deployer from grunt

    Build Status npm version Dependency Status

    Getting Started

    To install

    npm install nexus-deployer --save-dev

    From there, you have options

    1. Run with Node
    2. Run with Gulp
    3. Run with Grunt

    Running with Node

    var deployer = require('nexus-deployer');
    
    var release = {
        groupId: 'nexus-deployer',
        artifactId: 'nexus-deployer',
        version: '1.0',
        packaging: 'zip',
        auth: {
          username:'admin',
          password:'admin123'
        },
        pomDir: 'build/pom',
        url: 'http://localhost:8081/nexus/content/repositories/releases',
        artifact: 'build/nexus-deployer.zip',
        noproxy: 'localhost',
        cwd: ''
    };
    
    
    deployer.deploy(release, function(){
        // your async call back here
        // done();
    });

    Running with Gulp

    var deployer = require('nexus-deployer');
    
    // dont forget to create a task to actually generate the artifact as assumed
    // here with the dependent 'artifacts:generate' task
    gulp.task('deploy:artifacts', ['artifacts:generate'], function(callback) {
      
        var snapshot = {
            groupId: 'nexus-deployer',
            artifactId: 'nexus-deployer',
            version: '1.2-SNAPSHOT',
            packaging: 'zip',
            auth: {
                username:'admin',
                password:'admin123'
            },
            pomDir: 'build/pom',
            url: 'http://localhost:8081/nexus/content/repositories/snapshots',
            artifact: 'build/nexus-deployer.zip',
            noproxy: 'localhost',
            cwd: '',
            quiet: false,
            insecure: true
        };
    
        deployer.deploy(snapshot, callback);
    
    });

    Running with Grunt

    This plugin requires Grunt ~0.4.2

    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:

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

    grunt.loadNpmTasks('nexus-deployer');

    The "nexusDeployer" task

    Overview

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

    grunt.initConfig({
      nexusDeployer: {
        release: {
          options: {
    		  groupId: "nexus-deployer",
    		  artifactId: "nexus-deployer",
    		  version: "1.0",
    		  packaging: 'zip',
                      classifier: 'dev',
    		  auth: {
    			username:'admin',
    			password:'admin123'
    		  },
    		  pomDir: 'build/pom',
    		  url: 'http://localhost:9220/nexus/content/repositories/releases',
    		  artifact: 'build/nexus-deployer.zip',
    		  noproxy: 'localhost',
    		  cwd: ''
    		}
          }
        }
    });

    Options

    options.groupId

    Type: String Default value: ''

    The group owning the artifact.

    options.artifactId

    Type: String Default value: ''

    The artifact id of the artifact.

    options.packaging

    Type: String Default value: ''

    Type of artifact. eg zip, jar, pom, war etc.

    options.classifier

    Type: String Defaut value: ''

    An optional classifier that can further distinguish between artifacts of the same group, id and version. eg dev, prod etc. (i.e. artifact-1.0-dev.zip, artifact-1.0-prod.zip)

    options.version

    Type: String Default value: ''

    Version of the artifact being uploaded. Ensure you have your versions ending with -SNAPSHOT when an artifact is being uploaded to snapshot repository. Often artifact repositories have that restriction.

    options.auth.password

    Type: String Default value: ''

    Password to be used for authentication against nexus server

    options.auth.username

    Type: String Default value: ''

    Username to be used for authentication against nexus server

    options.insecure

    Type: boolean Default value: false

    Accept Self-Signed certificates when connecting over https.

    options.url

    Type: String Default value: ''

    Nexus repository url. Usually /nexus/content/repositories/snapshots or /nexus/content/repositories/releases

    options.artifact

    Type: String Default value: ''

    Artifact to be uploaded. Must be a file.

    options.noproxy

    Type: String Default value: '127.0.0.1'

    list of comma separated addresses to exclude for which proxy is not applicable. This is a must when running proxy and HTTP_PROXY environment value is set.

    options.cwd

    Type: String Default value: ''

    working directory from which deployer will deploy artifacts.

    options.parallel

    Type: Boolean Default value: 'false'

    Whether to upload artifacts in parallel.

    options.quiet

    Type: Boolean Default value: 'false'

    Chatty flag.

    Usage Examples

    Deploy to release repository

    grunt.initConfig({
      nexusDeployer: {
        release: {
          options: {
    		  groupId: "nexus-deployer",
    		  artifactId: "nexus-deployer",
    		  version: "1.0",
    		  packaging: 'zip',
    		  auth: {
    			username:'admin',
    			password:'admin123'
    		  },
    		  pomDir: 'build/pom',
    		  url: 'http://localhost:8081/nexus/content/repositories/releases',
    		  artifact: 'build/nexus-deployer.zip',
    		  noproxy: 'localhost',
    		  cwd: ''
    		}
          }
        }
    });

    Deploy to snapshots repository

    grunt.initConfig({
      nexusDeployer: {
        release: {
          options: {
    		  groupId: "nexus-deployer",
    		  artifactId: "nexus-deployer",
    		  version: "1.0-SNAPSHOT",
    		  packaging: 'zip',
    		  auth: {
    			username:'admin',
    			password:'admin123'
    		  },
    		  pomDir: 'build/pom',
    		  url: 'http://localhost:8081/nexus/content/repositories/snapshots',
    		  artifact: 'build/nexus-deployer.zip',
    		  noproxy: 'localhost',
    		  cwd: '',
    		  parallel:false,
    		  quiet: true
    		}
          }
        }
    });

    To run

    grunt nexusDeployer
    

    Release History

    Install

    npm i @cutting/nexus-deployer

    DownloadsWeekly Downloads

    13

    Version

    0.4.0

    License

    MIT

    Unpacked Size

    34.9 kB

    Total Files

    31

    Last publish

    Collaborators

    • cutting