Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4380
0
Помогите пожалуйста решить задачи
24th November, 23:53
6084
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Какой лучший способ безопасно опубликовать сборку сообщений сайта?
Итак, по вашему опыту, что лучше всего? Есть ли безопасный способ, который также может быть написан / запущен в инструменте автоматизации сборки?
Edit: я должен упомянуть, что это windows/.net, и я буду развертываться в iis6
Для некоторых проектов я использую Capistrano , чтобы заставить жить. Он построен на вершине ruby и делает развертывание сценария написания супер легко и использует ssh.
В других проектах у меня есть крошечное приложение для развертывания, которое использует bash для экспорта svn во временный каталог, а затем rsync на живой сервер. Вы можете сделать rsync использовать ssh.
Я очень предпочитаю метод Капистрано, даже если ваш проект не находится в ruby/rails.
Я поддержу рекомендацию для Capistrano, хотя, если вы ищете решение на основе GUI, вы можете попробовать интерфейс Webistrano. Чистая, основанная на ssh, здравая семантика deployment и отката, а также простые сценарии и расширяемость через ruby.
Сделайте копию каталога Вашего сайта в реальном времени, используйте rsync для обновления этой копии с помощью последней версии, а затем переименуйте каталоги live и updated, чтобы обновленная версия теперь была живой.
В bash:
#!/bin/bash
set -e
cp -R /var/livesite /var/newversion
rsync user@devserver:/var/readytogolive /var/newversion
mv /var/livesite /var/oldlivesite
mv /var/newversion /var/livesite
Виола!
Редактировать: @Ted Персиваль-это хорошая идея. Я даже не знал о "set -e". Обновленный скрипт. Edit: обновлено снова по предложению Ted (хотя я думаю, что это все равно сработает, если каким-то образом команда cp потерпит неудачу, и если cp потерпит неудачу, у вас, вероятно, будут более серьезные проблемы.)
@Neall, я бы добавил set -e на второй строке, потому что вы не хотите, чтобы живой сайт был заменен, если rsync не работает по какой-либо причине. set -e вызывает выход скрипта, если какая-либо из его команд завершается ошибкой.
Редактировать: set -e должно быть первым делом в скрипте, сразу после #!/bin/bash .
На внештатной работе, которую я сделал, мы создали три отдельных окружения.
- Dev-сервер, который запускал продолжение сборки с использованием CruiseControl. Любая Регистрация вызовет сборку. Тестирование качества было сделано здесь.
- Тестовый сервер, на котором проводилось приемочное тестирование пользователя.
- Производство.
Рабочий процесс был следующим:
- Разработчик проверяет изменения в SourceControl.
- CruiseControl создает и развертывает сборку в Dev.
- Дев QA объед
- После передачи QA запускается сценарий robocopy, который развертывает сборку Dev для тестирования.
- Тест UAT объед
- После прохождения теста запускается сценарий robocopy, который развертывает тест в PRD.
Вы всегда можете написать небольшое клиент-серверное приложение, которое шифрует в источнике, отправляет файлы, а затем расшифровывает в месте назначения. Это немного работы, но, вероятно, тривиальная сумма. И это сценарий, пока ваш инструмент автоматизации поддерживает выполнение чего-то в файловой системе (что, я думаю, все делают).
Единственным недостатком является то, что вы не сможете получать значимые сообщения об ошибках при сбое в своей среде интеграции без дополнительной работы с вашей стороны (хотя в зависимости от вашей настройки это может быть так же просто, как отправка сообщений об ошибках в stdout).
hm, здесь мы используем staging "server" для тестирования в живой среде (фактически, его виртуальный хост apache на рабочем сервере) и araxis merge (действительно умный инструмент сравнения файлов line-by-line) для синхронизации разработки и постановки.
после его тестирования, просто; замените файлы на рабочем webroot :)
/mp