Автор оригинала: 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
Сотрудничество
- Hipchat Crossplatform Atlassian Hipchat
- Слабый Crossplatform Slack Client
- Говорить Пользовательское видео/экран/звуковая связь для команд. Бесплатный неограниченный пробный период. TeamViewer
- Самый известный инструмент для совместного использования экрана и дистанционного управления Появляются. Как
- MECLENTION MER ONLINE Online Multiplatform Webrtc Сотрудничество с поддержкой обмена экраном
Используя код
Установка проводится через эти простые шаги:
- Получите свой совершенно новый 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»