Giter Club home page Giter Club logo

quickservicepub's Introduction

QuickServicePub

Allows a developer to quickly publish services to their application/web server.

QuickServicePub WILL:

  • Update a service that has already been published and configured (either manually or by Chef)
  • Clean up old server files, including deleting log files
  • Copy binaries and other service files from the developer's machine to the server
  • Stop and restart window services, as necessary

QuickServicePub WILL NOT:

  • Install a new service on the server
  • Pull projects from source
  • Build projects
  • Overwrite configuration files in the \configs directory

Usage

After installing QuickServicePub:

  1. Copy QuickServicePub.config.template.json to QuickServicePub.config.json
  2. Update QuickServicePub.config.json with your environment values
    • See below for format documentation and example usage
  3. (Optionally) Add additional repo or project definitions to QuickServicePub.config.json

To publish:

  1. Pull service repo from GIT, if necessary
  2. Build solution
  3. Use QuickServicePub to either
    • Publish all projects in a repository: Publish-ServiceRepo repository.name
    • Publish a single project: Publish-ServiceProject project.name

QuickServicePub.config.json Format

  • environment
    • sourceRoot: The directory on your local machine where GIT repositories live
    • webServiceRoot: The web service root directory on your web server
    • winServiceRoot: The windows service root directory on your app server (i.e. Program Files (x86)/Parametric Portfolio Associates)
    • winServiceHostName: The name of your app server
  • repos: Array of repository definitions
    • repoName: The name of the GIT repository directory
    • projects: Array of service projects in the repository
      • projectName: The name of the service project directory
      • type: The service project type, either web or win
      • destination: The directory under the root service directory where the service is installed
      • binPath: For Windows services, the relative path from the project directory for the service binary directory
      • serviceName: For Window services, the service name

QuickServicePub.config.json Example

{
    "environment" : {
        "sourceRoot":"c:/git",
        "webServiceRoot":"//sea-2500-24/c$/services",
        "winServiceRoot":"//sea-2500-24/c$/Program Files (x86)/Parametric Portfolio Associates",
        "winServiceHostName":"sea-2500-24"
        },
    "repos":[
        { "repoName":"Axiom.Services","projects":[ 
            {"projectName":"PPA.Axiom.Services","type":"web","destination":"AxiomService"} ]},
        { "repoName":"Edison.Services","projects":[
            {"projectName":"PPA.Edison.WcfService.BenchmarkData","type":"web","destination":"BenchmarkService"},
            {"projectName":"PPA.Edison.WcfService.MarketData","type":"web","destination":"EdisonMarketDataService"},
            {"projectName":"PPA.Edison.WcfService.RiskData","type":"web","destination":"EdisonRiskDataService"} ]},
        { "repoName":"Edison.WebApi","projects":[ 
            {"projectName":"Edison.WebApi","type":"web","destination":"EdisonWeb"} ]},
        { "repoName":"Phoenix", "projects":[ 
            {"projectName":"PPA.Phoenix.TopShelf.ScenarioPosting","type":"win","destination":"PhoenixScenarioPosting","binPath":"bin/debug","serviceName":"PPA.Phoenix.ScenarioPosting"},
            {"projectName":"PPA.Phoenix.WebApi","type":"web","destination":"PhoenixWebApi"} ]},
        { "repoName":"TradeDesk.Services","projects":[ 
            {"projectName":"PPA.TradeDesk.Services","type":"web","destination":"TradeDeskService"} ]},
        { "repoName":"Verona.Services","projects":[
            {"projectName":"PPA.Verona.Web","type":"web","destination":"VeronaWebService"},
            {"projectName":"PPA.Verona.WcfService.Reports","type":"web","destination":"VeronaReportsService"},
            {"projectName":"PPA.Verona.Service","type":"win","destination":"VeronaService","binPath":"bin/x86/debug","serviceName":"PPA.Verona.Service"} ]} 
        ]
}

quickservicepub's People

Contributors

slugburn avatar

Forkers

nlflint

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.