Git Product home page Git Product logo

gradle-ssh-deployment's Introduction

gradle-ssh-deployment

Deployment via "rolling update" implemented with gradle ssh plugin.

A simple but adequate solution for Micro Service Deployment Pipelines.

See also

remotes {
  Closure id_rsa = {
    file("${System.properties['user.home']}/.ssh/id_rsa")
  }
  at1 {
    role 'at' // automated test stage
    host = 'myservice1.at.local'
    user = 'myservice'
    identity = id_rsa.call()
  }
  at2 {
    role 'at'
    host = 'myservice2.at.local
    ...
  }
  ps1 { ... } // production stage
  ps2 { ... }
}

['at', 'ps'].each { stage ->
  task "deploy${stage}"(type: SshTask) {
    String artefaktUri = ...  // points to maven repository
    session(remotes.role(stage)) {
      execute('if [ -x service.sh ]; then ./service.sh stop; fi')
      put('pipeline/deployable/downloadAndUnpack.sh', './')
      execute("chmod 755 ./downloadAndUnpack.sh; ./downloadAndUnpack.sh ${artefaktUri}")
      execute("./service.sh start", pty: true)
      execute("./waitForServiceStart.sh")
    }
  }
}

gradle-ssh-deployment's People

Contributors

timmo avatar

Watchers

 avatar

Forkers

ryanlfoster

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.