GithubHelp home page GithubHelp logo

doytsujin / strano-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from express42/strano

0.0 1.0 0.0 1.11 MB

Strano is a web UI to run any tasks (but mostly Capistrano) from any of your git repo.

License: MIT License

Ruby 53.75% CoffeeScript 3.55% JavaScript 10.89% CSS 15.29% HTML 16.47% Shell 0.04%

strano-1's Introduction

Strano

This is fork of original Strano project. We remove Sidekiq and Redis dependencies and allow Strano to run any task (not just Capistrano).

The Github and Git backed mostly deployment management UI, see screenshots.

Strano allows you to run any task via a clean and simple web interface. Simply create a project from any of your Github or Git repositories, and Strano will use repository as working directory to run any task you want (but we only use it for Capistrano). Which means you don't have to set up Capistrano twice, and you can still run capistrano tasks from the command line without fear of different configurations being used, causing conflicted deploys.

All tasks are recorded, so you can look back and see a full history of who did what and when.

Strano is in production use at KupiKupon and other Express42 clients, but is still in active development. So I need your help to improve and ensure the code is top quality. So I encourage any and all pull requests. Fork away!

Installation

Strano is simply a Rails app with a DB backend for processing background jobs. Clone the repo from Github and run:

script/bootstrap

Then start the app:

bundle exec rails s

NOTE Strano cannot be run on Heroku, as the project repositories have to cloned to a local directory in your app at vendors/repos.

Configuration

Strano requires that you define only three configuration variables. The rest are optional, but can be overridden. You can either create a config/strano.yml configuration file and define them in there, or you can define them in the ENV variable. See config/strano.example.yml for all possible configuration variables.

The following are required and should be defined before running Strano.

  • Github Key and Secret

    Create a Github application and copy the generated key and secret to: github_key and github_secret.

  • Public SSH key

    In order to clone repositories from Github, it requires a public SSH key be defined in public_ssh_key. Or strano process running user should have access to Github (or Git) repo. Also user running strano process should have SSH access to the machines, if you want it to run Capistrano tasks.

Background Processing

Background processing of tasks and repo management is taken care of by the excellent rake task. Run the queue like this:

bundle exec rake bg:worker

License

Strano is released under the MIT license:

Contributing

Once you've made your great commits:

  1. Fork Strano
  2. Create a topic branch - git checkout -b my_branch
  3. Push to your branch - git push origin my_branch
  4. Create a Pull Request from your branch
  5. That's it!

strano-1's People

Contributors

cedriclombardot avatar dmitryn avatar evtuhovich avatar joelmoss avatar

Watchers

 avatar

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.