Я хотел бы знать, есть ли простой способ вытеснить репозиторий GIT в производство (на FTP-сервере)? Благодаря
Git Ввод в производство (FTP)
Ответ 1
Некоторые инструменты недавно добавлены в Git wiki:
git-ftp от René Moser - это простой shell script для выполнения FTP Gitпуть. Используйте git -ftp.sh для загрузки только Git отслеживаемые файлы на FTP-сервер, которые изменились с момента последнего загрузить. Это экономит время и пропускную способность. Даже если вы играете с разными ветки, git -ftp.sh знает, какие файлы разные. Нет обычного FTP-клиента может это сделать.
git-ftp Эдвард З. Ян - это простой script написанный на python для загрузка файлов в репозиторий Gitчерез FTP, только передача новых файлов и удаление старых файлов.
Ответ 2
Если вы предпочитаете GUI, используйте SourceTree, вы можете легко настроить пользовательское действие, которое использует git -ftp, упомянутое выше. Краткое описание настройки (для Mac) в Нажмите хранилище Git на FTP
Ответ 3
Если вы на Mac и имеете Transmit, я бы рекомендовал следующий git -tranmit script (https://gist.github.com/379750). Он использует DockSend для отправки только последних обновленных файлов. Если вы не знакомы с DockSend, проверьте http://www.panic.com/blog/2010/11/15-secrets-of-transmit/.
Настройка:
- cp git -transit/usr/sbin/.
- cd/usr/sbin
- chmod + x git -transmit
- Отправка настройки отправки для вашего живого приложения.
- Запустите git -передатчик в репозитории git.
Ответ 4
Я нашел PHPloy отличный инструмент для отправки Git для удаленных серверов по FTP. Он работает из командной строки и написан на PHP (и даже обнаруживает изменения в подмодулях).
https://github.com/banago/PHPloy
git commit ...
phploy -s staging
phploy -s production
Готово!
(Отказ от ответственности: после использования его некоторое время я внес некоторые исправления и улучшения кода, что делает его совместимым с Windows.)
Ответ 5
Это не то, что git, строго говоря. Однако, если ваш источник - это то, что не нужно компилировать или обрабатывать, скажем, веб-сайт, состоящий из полностью файлов html и javascript и т.п., Вы можете иметь клон репо на своем веб-сервере и использовать git pull
с сервера, чтобы поддерживать его в актуальном состоянии. Обратите внимание: я бы настроил ваш веб-сервер, чтобы скрыть каталог git и т.д. И это только начало проблем безопасности.
Если у вас есть какая-либо компиляция или обработка, вы должны начать искать Ant, Maven, BuildR, SBT и т.д.
Ответ 6
Это script в PHP для загрузки почти автоматически git -diff на FTP-сервер:
Ответ 7
Вы можете попробовать FTPloy...
"Нажмите изменения в GitHub или Bitbucket.
" Автоматическое развертывание изменений на вашем сервере"
У вас есть один бесплатный проект, чтобы попробовать его. В настоящее время я использую небольшой веб-сайт php, и он работает достаточно хорошо. Несколько ошибок на сайте, но его активный проект, по крайней мере, они работают над ним.
Ответ 8
Бесплатно для одного проекта, и он работает очень хорошо.
Ответ 9
Здесь есть Ruby script - Ruby git -deploy через FTP или SSH, который загружает только измененные файлы в git repo через FTP или SSH.
Как уже упоминалось в другом ответе, здесь Python git -ftp.py script, который делает аналогичную вещь.
И вот оболочка script версия git-ftp.
Существует также проект Ruby gem под названием git-deploy, который позволяет настраивать развертывание с помощью пульта git с помощью git push
, так же как и услуги Heroku и Azure. Для этого вам может понадобиться написать собственные методы для развертывания через FTP, и я думаю, что он предполагает, что у вас есть доступ к SSH на ваш производственный сервер.
Ответ 10
Если вы вводите код в производство, я рекомендую использовать "установщик", такой как пакет RPM, для установки вашего кода. Таким образом, это будет печать с версией, и вы сможете использовать пакет установщика для поддержки обновлений производственного кода. Git не предназначен для поддержки производственных установок, он предназначен для отслеживания изменений самого кода.
В любом случае, с созданным .RPM(или EXE или любым другим), вы можете просто перенести его в производственную систему и установить как любой другой пакет.
Ответ 11
Добавьте его как удаленный, затем вы можете нажать на него, однако простого нажатия кода недостаточно, его необходимо объединить с рабочим деревом. Самый простой способ - идти в другую сторону, иметь рабочее дерево на сервере и извлекать и сливаться с этим.
Ответ 12
Вы всегда можете попытаться установить ftp в локальный каталог, используя http://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem.
Затем вы можете использовать его так же, как this.
Ответ 13
Я много искал, чтобы понять это. Я выяснил простой способ сделать это из разных источников (git -ftpINSTALL, git -ftpUPLOAD, git -ftpIssue, git -ftpPUSH). Вы можете прочитать для справки, но нет необходимости, потому что я упомянул поэтапный процесс ниже.
Прежде всего: установите git и закручивайте, используя brew в ОС MAC
brew install git
brew install curl --with-ssl --with-libssh2
brew install git-ftp
Выполните следующие команды:
git clone https://github.com/git-ftp/git-ftp.git
cd git-ftp
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
Обновление с помощью git
git pull
git tag # see available tags
git checkout <tag> # checkout the latest tag by replacing <tag>
sudo make install
Настройка
git config git-ftp.url YourFtpServerName.Net
git config git-ftp.user FtpUserName
git config git-ftp.password YourPassword
Загрузить все файлы
git ftp init
Или, если файлы уже есть
git ftp catchup
Работа и развертывание
echo "Hello StackOverflow" >> index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
git ftp push
Если существует ошибка : pathspec 'index.txt' не соответствует ни одному файлу, известному как git. Это означает, что файл еще не был поставлен, поэтому добавьте файл, а затем попытайтесь выполнить фиксацию.
git add application/libraries/index.txt
git commit application/libraries/index.txt -m "I love StackOverflow"
Надеюсь, это поможет.