Skip to content

Latest commit

 

History

History
288 lines (214 loc) · 14.2 KB

README.md

File metadata and controls

288 lines (214 loc) · 14.2 KB

ansible-developer_recipes

Helper ansible repository for my devbox box configuration. Suitable for: LAMP, MEAN stack, Java stack [DevOps, Ansible]

pack contents

Installation as simple, as

  • get your brand new ubuntu 14.04 LTS
  • install git, curl: sudo apt-get install curl git
  • clone repository: git clone git@github.com:Voronenko/ansible-developer_recipes.git
  • copy local.yml.template to local.yml
  • uncomment portions of software you want to install + adjust variables if needed
  • run bootsrap.sh to ensure you have all necessary tools
  • run local.sh to provision your box.

bundled recipes:

#     - include: tasks_cleanupubuntu.yml                   # removes games, lens, etc
#     - include: tasks_python.yml                          # basic updates to py & pip
#     - include: tasks_worktools.yml                       # swiss knife for desktop utilities
#     - include: tools/tasks_tmux.yml                      # If you are the tmux fun

#     - include: tasks_mongodb_3.yml                       # mongodb 3.0
#     - include: tasks_mysql.yml                           # MYSQL 5.5
#     - include: tasks_percona_toolkit.yml                 # percona tools for mysql


#     - include: tasks_nginx.yml                           # nginx
#     - include: tasks_apache.yml                          # apache prefork|worker

#     - include: tasks_nodejs.yml                          # node 0.10.* 0.12.*
#     - include: tasks_java.yml                            # java 6-7-8
#     - include: tasks_php_apache.yml                      # php 5.5 for apache
#     - include: tasks_ruby.yml                            # Set system ruby to 2.1

#     - include: tasks_jetbrains_phpstorm.yml              # PHP IDE
#     - include: tasks_jetbrains_pycharm_community.yml     # PY IDE
#     - include: tasks_jetbrains_rubymine.yml              # RUBY IDE
#     - include: tasks_jetbrains_intellij_community.yml    # JAVA IDE

#     - include: tasks_robomongo.yml                       # mongo GUI tool
#     - include: tasks_dbeawer.yml                         # mysql | postgre GUI tool

#     - include: tasks_docker.yml                          # docker

#     - include: tasks_oracle_virtualbox.yml               # Oracle Virtual Box
#     - include: tasks_vagrant.yml                         # Vagrant

#      RUBY
#     - include: ruby/ch_ruby.yml                          # chruby
#     - include: ruby/ruby_install.yml                     # ruby-install
#     - include: ruby/ruby.yml                             # installs ruby itself

#      LAMP
#     - include: lamp/phpdox.yml                            # phpdox documentator
#     - include: lamp/doxygen.yml                           # doxygen documentator
#     - include: lamp/phploc.yml                            # phploc tool
#     - include: lamp/phpcs.yml                             # phpcs tool
#     - include: lamp/phpmd.yml                             # phpmd tool

#     - include: tools/tasks_expect.yml                    # expect tool
#     - include: tools/tasks_plantuml.yml                  # plant uml
#     - include: tools/tasks_toggle.yml                    # toggle time tracker
#     - include: tools/tasks_dpr.yml                       # d.pr screenshoting tool

#     VMWARE
#     - include: vmware/tasks_vmware_tools.yml             # ESX vmware tools

#    DEVELOPMENT
#     - include: tools/tasks_mailhog.yml                    # Web and API based SMTP testing

# COMMUNICATIONS
#     - include: tools/tasks_skype.yml                       # skype 4.3
#     - include: tools/tasks_speak_io.yml                    # speak.io client
#     - include: tools/tasks_slack_client.yml               # slack
#     - include: tools/tasks_hipchat_client.yml             # hipchat

#  TIME TRACKING
#     - include: tools/tasks_toggle.yml

#  DESKTOP shortcuts
#     - include: e531/desktop_icons_pack.yml              # desktop icons
#     - include: e531/shortcuts.yml                       # desktop shortcuts

# Local LAMP debugging
#     - include: vagrant/tasks_vagrant_php_xdebug.yml

# 3rd party code editors
#     - include: tools/tasks_microsoft_visual_studio_code.yml

# 3rd party tools
#     - include: tools/tasks_s3cmd.yml
#     - include: tools/tasks_openshift_rhctools.yml
#     - include: tools/tasks_travis_clienttools.yml

bundled recipes for local or vagrant based LAMP debugging

# - include: "{{root_dir}}/vagrant/tasks_vagrant_php_webgrind.yml"                   # Webgrind
# - include: "{{root_dir}}/vagrant/tasks_vagrant_phpmyadmin.yml"                 # PhpMyAdmin
# - include: "{{root_dir}}/vagrant/tasks_vagrant_php_xdebug.yml"                 # XDebug extension
# - include: "{{root_dir}}/vagrant/tasks_vagrant_write_tools.yml"                # db import script, python venv init scripts
# - include: "{{root_dir}}/vagrant/tasks_vagrant_import_mysqldb_databag.yml"     # (re)imports databases from db folder
# - include: "{{root_dir}}/vagrant/tasks_vagrant_apache2_devsites.yml"           # register apache websites on vagrant


Defaults

    apps_dir: "/home/YOURUSER/apps"
    mysql_root_user: root
    mysql_root_password: devroot
    apache_mode: worker # use prefork or worker variables
    dbeawer_version: 3.6.3
    chruby_version: 0.3.9
    doxygen_version: 1.8.11
    intellij_version: 2016.1.1 #14.1.4
    java_version: 8
    mailhog_version: 0.1.6
    mongo_version: 3
    monit_version: "5.14-2"
    nodejs_version: "0.12" # 0.10 0.12 4.x 5.x
    oracle_vbox_version: 4.3
    phpstorm_version: "2016.1" # 10.0.3  | "10.0" | 9.0.2 | 8.0.3 | 8.0.1 | 7.1.4 | 6.0.3 | 5.0.4
    php_xdebug_version: 2.2.4
    phpcs_version: 2.5.1
    phpcbf_version: 2.5.1
    pycharm_version: "2016.1" #5.0.1 # 4.5.4
  #    pycharm_edition: community # professional | community
    robomongo_version: 0.8.5
    rubies_location: /opt/rubies
    ruby_install_version: 0.6.0
    option_ruby_install_setsystem: true
    ruby_version: 2.3.0
    rubymine_version: 7.1.4
  #    s3cmd_version: 1.6.1
    travis_version: 1.8.2
    vagrant_version: 1.8.1
    vagrant_plugins:
      - vagrant-vbguest
      - vagrant-hostsupdater
      - vagrant-auto_network

    php_family: default # 5.4 | 5.5 | 5.6 | default
    hypervisor: esx
    # "git-blame" fails to compile with recent atom
    atom_packages: ["angularjs","atom-css-comb", "meteor-api", "emmet", "file-icons", "tag", "expand-region", "atom-alignment", "atom-beautify", "minimap", "set-syntax", "jshint", "linter", "linter-jscs", "jscs-fixer", "highlight-line", "highlight-column", "autocomplete-plus", "toggle-quotes", "monokai"]

Table of Contents

Databases

  • MySQL MySQL Community database server
  • MongoDB Popular NoSQL database Build Status

Database tools

  • DBeawer Great GUI tool to work with MySQL, Postgres and bunch or another DBs Build Status

  • Robomongo Awesome free gui client for MongoDB Build Status

  • Common schema DBA's framework for MySQL

Development

  • [Python] Includes most recent packet manager - pip installation and update

  • [Java] Installs java runtime environment 6,7, or 8 on the box Build Status

  • [NodeJS] Installs nodeJS 0.10 or 0.12 with set of most popular tools, including grunt, gulp, bower, npm Build Status

  • [PHP] Installs PHP for apache or nginx as Fast-CGI Build Status

Documentation tools

Tools to ensure your project documentation does not get lost

  • Apiary Markdown based grammar do describe your REST API
  • Aglio Custom renderer for apiary based syntax for REST API - zero dependency on apiary itself
  • PlantUML - Plain text grammar to describe project UML diagrams
  • GnuPlot - Gnuplot supports many different types of 2D and 3D plots
  • BlockDiag - Blockdiag and its family generate diagram images from simple text files
  • Bizagi modeler Bizagi modeler - BMPN2.0 compatible tool for drowing business flow diagrams (Windows only)
  • Gliffy html5 based online diagramming tool with BMPN 2.0 support
  • SchemaSpy old but still good documentator for databases
  • SchemaCrawler Similar to SchemaSpy, under development, but more complex to use
  • Pandoc Universal markup converter (i.e. docx to rst & so on)

Virtualization

  • Docker Necessary docker components to build and run docker containers locally
  • Oracle Virtual Box Free virtualization environment for Linux
  • Vagrant Create and configure lightweight, reproducible, and portable development environments
  • ESXi client tools When I work under ESXi - provides better experience

Webservers

  • Apache Classic WebServer (recipe supports both prefork and worker models)
  • Nginx Compact effective webserver for highload Build Status

Workplace handy tools

Build Status

Development IDE's

Collaboration

  • HipChat Crossplatform atlassian HipChat
  • Slack Crossplatform slack client
  • Speak.io custom video/screen/sound communication for teams. Free unlimited trial period.
  • Teamviewer Most known tool for screen sharing and remote control
  • Appear.in Client-less online multiplatform WebRTC collaboration tool with screen sharing support

PDF

Syncing

  • [Sync driver](syncDriver for OneDrive ) Alternative Microsoft OneDrive sync client

Awesomes

Development-LAMP

Development-JS

  • CasperJS http://casperjs.org/CasperJS is an open source navigation scripting & testing utility written in Javascript for the PhantomJS WebKit headless browser and SlimerJS (Gecko). It eases the process of defining a full navigation scenario and provides useful high-level functions, methods & syntactic sugar

Algorithms

Bookmarklets