Рубрики
Uncategorized

Получение среды разработки, настроенную, прежде чем закончить кофе

Эта статья демонстрирует подход для автоматической конфигурации окружающей среды с помощью Anbible. Относится к рабочим местам на основе только на Ubuntu 14,04 LTS.

Автор оригинала: Vyacheslav.

Вступление

Как подрядчик — разработчик программного обеспечения, я часто решающую свою рабочую среду, в зависимости от требований проекта. Также, в зависимости от NDA, иногда я работаю удаленно на коробках, предоставляемых моим клиентом. В целом, для меня важно быстро получить типичный набор инструментов работы. Итак, позвольте мне поделиться здесь, как я получаю свою новую среду и бегу, пока я пью кофе.

Важно: этот наконечник относится к рабочим местам на основе Ubuntu LTS в основном.

Фон

Эта статья демонстрирует подход для автоматической конфигурации окружающей среды с помощью Anbible. Почему адвизма? Поскольку у него нет зависимостей, кроме Python, который по умолчанию установлен на поле. Список доступных рецептов программного обеспечения:

Базы данных

Инструменты базы данных

  • Dbeawer: Great GUI инструмент для работы с MySQL, Postgres и Bunch или другим DBS
  • Robomongo: Потрясающий бесплатный клиент GUI для MongoDB
  • Общая схема: Структура DBA для MySQL

Разработка

  • [Python] включает в себя самый последний менеджер пакетов — установка и обновление PIP
  • [Java] устанавливает среду Runtime Java 6,7, или 8 на коробке
  • [Nodejs] Установка узла JS 0.10 или 0.12 с набором самых популярных инструментов, включая Grunt, Gulp, Bower, NPM
  • [ PHP] Установите PHP для Apache или NGINX как FastCGI

Инструменты документации

Инструменты, чтобы гарантировать, что ваша проектная документация не теряется:

  • Пасека : Грамматика на основе Markdown, чтобы описать ваш API отдыха
  • Аглио Пользовательский рендерер для синтаксиса на основе паперирования для отдыха API — нулевая зависимость от самой пасеки
  • Plantuml — равнинная текстовая грамматика для описания проекта UML диаграммы
  • Bizagi Modeler Bizagi Modeler — BMPN2.0 — совместимый инструмент для паменщики диаграмм блокировки бизнеса (только для Windows)
  • Глиффис Инструмент онлайн-диаграмма HTML5 с поддержкой BMPN 2.0

Виртуализация

  • Докер Необходимые компоненты докеров для создания и запуска контейнеров Docker локально
  • Oracle Virtual Box Свободная среда виртуализации для Linux
  • Бродячий Создайте и настроить легкие, воспроизводимые и портативные среды развития
  • Esxi клиентские инструменты Когда я работаю под esxi — обеспечивает лучший опыт

Веб-серверы

  • Apache Классический веб-сервер (рецепт поддерживает как допорные и рабочие модели)
  • Nginx Компактный эффективный веб-сервер для выработки

Удобные инструменты на рабочем месте

  • Midnight Commander Структура визуальной папки browsing
  • Git-flow Git-Flow — + — Успешная модель ветвления Git
  • открыть в терминале Действие «Открыто в терминале» для Наутилуса
  • unzip распаковывать
  • P7zip p7zip.
  • Терминатор терминатор
  • возвышенный возвышенный текст 2
  • атом Редактор атом GitHub
  • Zeal Офлайн документация Zeal Offline
  • хром Google Chrome Stupply
  • Д.ПР Перекрестная платформа онлайн Скриншот Capture Client
  • Затвор Unix Только скриншот захват
  • Phpstorm Jetbrains IDE для PHP
  • Пычарм Jetbrains Ide для Python
  • Rubymine Jetbrains Ide для Ruby
  • Идея Jetbrains Ide для Java

Сотрудничество

Используя код

Установка проводится через эти простые шаги:

  • Получите свой совершенно новый Ubuntu LTS
  • Установите Git, Curl: sudo apt-get install curl git
  • Клон-репозиторий: Git Clone Git@github.com: Voronenko/Ansible-developer_recipes.git
  • Скопировать local.yml.template к локальный
  • Нечастивая часть программного обеспечения, которую вы хотите установить + переменные переменные при необходимости
  • Беги local.sh обеспечить вашу коробку.

Содержанные рецепты:

#     - 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: 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_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


#     - 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

Дополнительные рецепты для локального или бродяга на основе лампы отладки

# - 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

# db import script, python venv init scripts
# - include: "{{root_dir}}/vagrant/tasks_vagrant_write_tools.yml"  

# - 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   

Версии программного обеспечения

apps_dir: "/home/YOURUSER/apps"
mysql_root_user: root
mysql_root_password: devroot
apache_mode: worker # use prefork or worker variables
dbeawer_version: 3.4.5
intellij_version: 14.1.4
java_version: 8
mailhog_version: 0.1.6
mongo_version: 3
nodejs_version: "0.12" # 0.10 0.12
oracle_vbox_version: 4.3
phpstorm_version: 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
pycharm_version: 4.5.4
robomongo_version: 0.8.5
rubymine_version: 7.1.4
vagrant_version: 1.7.4

php_family: default # 5.4 | 5.5 | 5.6 | default
hypervisor: esx

Если вы хотите применить аналогичный набор рецептов для вашей виртуальной машины — вас могут быть заинтересованы в примерном поле лампы в [https://github.com/voronenko/lamp-box](https://github.com/voronenko/Лампа коробки)

Точки интереса

Я ищу вилки и потянутые запросы! Не стесняйтесь, дайте мне знать, если есть некоторые подобные проекты, которые позволят одному настроить Mac Box аналогичным образом. Надеюсь, вы найдете эту конфигурацию этой коробки разработчика.

Оригинал: «https://www.codementor.io/@slavko/configuring-development-environment-ansible-ubuntu-14-04-du107nl5e»