• Как проверить наличие строки в файле в bash скрипте?

    Ну просто же...
    #!/bin/bash
    if grep -q myParam myConfigFile
      then echo "myParam string exist!"
    else
     echo "Did not find string, adding"
    echo "myParam = 0" >> myConfigFile
    fi
    Ответ написан
    Комментировать
  • Как открыть сервер для интернета?

    Sweatpents
    @Sweatpents
    Начинающий хастлер в эпоху информационного шума
    Самое первое, что нужно тебе сделать, это настроить сетевой мост. По памяти, в Virtual Box изменяется тип сетевого адаптера, в интерфейсе Windows объединяется физическое подключение и виртуальное в сетевой мост, после чего Ubuntu на VM и физическая машина на Windows находятся в одной подсети, с разными адресами (192.168.1.x и 192.168.1.y). Далее, дело за малым, настроить проброс портов. Более детально напиши, какой сервис ты хочешь сделать доступным за NAT? В какое оборудование подключен интернет-кабель провайдера?
    Если речь о веб-сервере и у тебя стоит маршрутизатор, то в его настройках нужно указать правило для входящих пакетов на 80 порт, перенаправлять пакеты на адрес 192.168.1.y и такой же порт. Так же узнай, белый ip у тебя?
    Ответ написан
    Комментировать
  • Как сделать скриншот страницы полностью?

    rdifb0
    @rdifb0
    Программист, реалист
    В Firefox Shift-F2 и вводим screenshot file.png --fullpage
    Ответ написан
    11 комментариев
  • QT в Ubuntu: Как исправить ошибку? :-1: error: cannot find -lGL?

    @RPG
    Скорее всего у вас отсутствует пакет разработчика для библиотеки OpenGL. Установите пакет mesa-common-dev.

    sudo apt-get install mesa-common-dev
    sudo apt-get install freeglut3-dev


    P. S. Такой совет пригодится для любой библиотеки, когда что-то не линкуется.
    Ответ написан
    Комментировать
  • Скрипт init.d запуска forever для приложений node.js под centos 6.4?

    fart
    @fart
    Приветствую. Вот на коленке был накидан скрипт. Вроде работает на CentOS 6.4.
    Есть бага: нет проверки что forever запущен. Нам не мешает ибо запустили и не трогаем)
    #!/bin/sh
    # chkconfig: 2345 90 60
    #/etc/init.d/nodeup
    
    
    export PATH=$PATH:/usr/local/bin
    export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
    
    case "$1" in
      start)
      cd /home/administrator/ASP/scripts
      exec forever start --sourceDir=/home/administrator/ASP/scripts -p /home/admini                                                                                               strator/ASP/scripts/log  index.js
      ;;
    stop)
      exec forever stop --sourceDir=/home/administrator/ASP/scripts index.js
      ;;
    *)
      echo "Usage: /etc/init.d/nodeup {start|stop}"
      exit 1
      ;;
    esac
    
    exit 0
    Ответ написан
    Комментировать
  • Как правильно организовать деплой приложения?

    shebanoff
    @shebanoff
    Я увидел в Вашем вопросе две части.

    Как правильно организовать деплой (выкладку работоспособного кода на сервер)?


    В самом простом случае Вам подойдет связка ssh + git pull на сервере. В этом случае на сервер будут доставлены патчи коммитов, которые есть в репозитории, но еще не появились на сервере, т.е. «только обновления файлов, которые сейчас существуют». Этот метод довольно подробно обсудили в ответах на другой вопрос.

    Если хочется автоматизировать процесс, что похвально, то я вижу три доступных инструмента для этого: Capistrano, Mina (мой персональный фаворит) и Vlad the Deployer. Все три проекта схожи по сути. Принцип их работы таков:
    1. Подключиться к целевому серверу.
    2. Залить обновление кода из репозитория.
    3. Выполнить предписанные Вами инструкции (перезапуск демонов, сброс индексов, обновление структуры БД и прочее).
    4. ...
    5. PROFIT!


    Инструменты просты, переход на них — дело одного выходного дня, и может быть сопряжен со сложностями только в связи с новизной.

    Как организовать процесс тестирования?


    Если Вы еще не определились с методикой тестирования (Test Driven Development, Behavior Driven Development, Лень-Driven Development), то Вам следует для начала заняться именно этим.

    Скорее всего, тесты будут выполняться на Вашей локальной машине, пока Вы пишете код. Используя RSpec, я держу открытым Guard. Guard отслеживает изменения в коде и запускает набор юнит-тестов, которые покрывают измененный код. Весь процесс занимает не больше минуты-двух, и особо не напрягает. Как только я вижу провалившийся тест, я меняю код до тех пор, пока он не станет зеленым. Пока тестов мало (это не самый лучший знак, к слову), Вы работаете один, локального запуска перед деплоем может оказаться достаточно — например, чтобы проверить релиз на доступность критического функционала: регистрации, покупки, создание постов и т.п.

    В какой-то момент речь может зайти о Continious Integration. Это возможность иметь стабильный билд в любой отрезок времени, а так же принимать решение о годности каждого отдельного коммита. Сопряжено с деплоем кода на integration-сервер и запуском на нем тестов. Скорее всего, это Вас не интересует, если Вы не работаете в команде. Но, для полноты картины, Вы можете понаблюдать за билдами на Travis CI известных Open Source проектов: Symfony 2 и Ruby on Rails.

    Таким образом


    Вы не указали, какие конкретно инструменты для разработки Вы используете. Если же с деплоем все гораздо проще, то при выборе инструментов для тестирования я рекомендую Вам ориентироваться на те, которые нативны для Вашего основного фреймворка и языка (PHP, если правильно понимаю) и привычны их пользователям. Это позволит быстро применить устоявшиеся практики к Вашему проекту и понять всё на деле.

    Приведите в порядок Ваш репозиторий с кодом, используйте mina для деплоя и запускайте тесты на Вашей локальной рабочей машине. Как только Вы почувствуете, что этого не достаточно — Вы наверняка уже будете знать, куда шагать дальше.
    Ответ написан
    8 комментариев
  • Git для небольшой команды?

    dshster
    @dshster
    Javascript, Frontend
    Ну для начала вам придётся поднять отдельную копию сайта каждому разработчику, а на сервере общая версия, куда будут сливаться все изменения и показываться заказчику.

    Во-вторых все же принцип работы git в командной строке изучить надо — будет проще работать через gui понимая суть.

    В третьих — в NetBeans есть модуль git, который хорошо работает, останется только наладить workflow, и deploy коммитов на сервер (на хабре были несколько вариантов решения)

    У себя же в локальной копии разрабочик волен сам создавать нужные для себя ветки и делать коммиты, останется договориться о том, в какие ветки сливать наработки на сервер.
    Ответ написан
    3 комментария