Развертывание OpenShift

Привет, я новичок в открытой смене. Я не знаю, как создать репозиторий и внедрить в него наш проект. Я настроил это через командную строку. После успешной установки rhc через командную строку я получаю путаницу в справочной информации, предоставленной на сайте Open Shift относительно загрузки приложения, а не отправки и отправки. Мне пришла в голову мысль о коммитах и ​​push-сообщениях, но у меня не было идеи о развертывании или загрузке приложения в первый раз. Пожалуйста, помогите мне, я застрял на много времени заранее спасибо

4 ответа

Существует два варианта развертывания контента на сервере Tomcat в OpenShift. Оба варианта можно использовать вместе (т.е. создать один архив из исходного кода, а другие предварительно собрать)

1) (Предпочитается). Вы можете загружать свой контент в структуре Maven src, как в этом примере проекта, и на git push приложение будет создано и развернуто. Чтобы это работало, вам понадобится ваш pom.xml в корне вашего репозитория и плагин maven-war, как в этом примере, чтобы переместить выходные данные из сборки в каталог webapps. По умолчанию warName имеет значение ROOT в pom.xml. Это приведет к отображению содержимого веб-приложения по адресу http://app_name-namespace.rhcloud.com/. Если вы измените warName в pom.xml на app_name, ваш базовый URL станет http://app_name-namespace.rhcloud.com/app_name.

Примечание. Если вы собираете локально, вы также захотите добавить любые выходные войны под webapps из сборки в ваш файл.gitignore.

Примечание. Если вы используете масштабированный EWS2.0, то вам нужно приложение, развернутое в корневом контексте (т.е. http://app_name-namespace.rhcloud.com/), чтобы балансировщик нагрузки HAProxy распознал, что экземпляр EWS2.0 является активный.

или же

2) Вы можете использовать git push предварительно созданные войны в webapps/. Чтобы сделать это с репо по умолчанию, вы сначала должны запустить git rm -r src/ pom.xml из корня репо.

Основные рабочие процессы для развертывания предварительно созданного содержимого (каждая операция потребует связанных операций git add/commit/push для вступления в силу):

A) Добавьте новый заархивированный контент и разверните его:

  1. cp target / example.war webapps /

Б) Развернуть развернутый контент:

  1. git rm webapps / example.war

C) Замените в настоящее время развернутый заархивированный контент новой версией и разверните его:

  1. cp target / example.war webapps /

Примечание. Вы можете получить информацию в указанном выше URI, запустив 'rhc domain show'

Если вы уже зафиксировали большие файлы в своем git-репо, вы переписываете или сбрасываете историю этих файлов в git на более ранний момент времени, а затем "git push --force", чтобы применить эти изменения на удаленном сервере OpenShift. Git gc на удаленном репозитории OpenShift может быть принудительно запущен (Примечание: tidy также выполняет другие операции очистки, включая очистку файлов журнала и директорий tmp):

rhc app tidy -a appname

Независимо от того, выберете ли вы вариант 1) или 2), конечным результатом будет приложение, развернутое в каталоге webapps. Каталог webapps в дистрибутиве Tomcat - это то место, где конечные пользователи могут размещать содержимое своего развертывания (например, файлы war, ear, jar, sar), чтобы оно автоматически развертывалось в среде выполнения сервера.

Развертывание и сборка приложения

Все приложения OpenShift построены на рабочем процессе управления исходным кодом Git - вы кодируете локально, а затем отправляете свои изменения на сервер. Затем сервер запускает несколько хуков для сборки и настройки вашего приложения и, наконец, перезапускает ваше приложение. При желании приложения могут быть выбраны для создания с использованием Jenkins или запуска с использованием "горячего развертывания", что ускоряет развертывание кода в OpenShift.

Внесение изменений в ваше приложение Как разработчик OpenShift, вы вносите изменения в код на своем локальном компьютере, проверяете эти изменения локально, а затем "помещаете" эти изменения в OpenShift. Одним из основных преимуществ Git является то, что для его работы не требуется постоянного присутствия в сети. Вы можете легко зарегистрироваться (в терминологии Git, 'commit') и отменить изменения локально, прежде чем принять решение о загрузке этих изменений в OpenShift.

Каждое приложение OpenShift, которое вы создаете, имеет свой собственный Git-репозиторий, доступ к которому есть только у вас. Если вы создаете ваше приложение из командной строки, rhc автоматически загрузит копию этого хранилища (Git называет это "клонированием") в вашу локальную систему. Если вы создаете приложение из веб-консоли, вам нужно указать Git клонировать репозиторий. Найдите URL-адрес Git на странице приложения и запустите:

$ git clone <git_url> <directory to create>

После того, как вы внесете изменения, вам нужно будет "добавить" и "зафиксировать" эти изменения - "добавить" сообщает Git, что файл или набор файлов станут частью более крупной регистрации, а "фиксация" завершит регистрацию. Git требует, чтобы каждый коммит имел сообщение для его описания.

$ git add .
$ git commit -m "A checkin to my application"

Наконец, вы готовы отправить свои изменения в ваше приложение - вы "подтолкнете" эти изменения с помощью:

$ git push

Вывод команды push будет содержать информацию от OpenShift о вашем развертывании -

Источник Нажмите меня

Вот действительно хороший учебник, подготовленный ребятами openshift с исходным кодом, чтобы вы могли ошибиться с ним. https://www.openshift.com/blogs/spring-polyglot-persistence-part-1

Подводя итог - если у вас есть приложение в каком-либо хранилище, просто создайте ваше приложение, чтобы оно создавало папку с git repo в вашем каталоге

rhc app create notebook jbossas-7 -l <openshift_login_email> -d

Перейдите во вновь созданный каталог и замените код openshift по умолчанию своим репо

git rm -rf src/ pom.xml

git commit -am "removed default files"

git remote add notebook -m master git://github.com/shekhargulati/notebook-part1.git

git pull -s recursive -X theirs notebook master

git push

Вы должны увидеть сборку вашего Java-приложения.

Какой тип приложения у вас? Java/PHP/Python...? Если это приложение на основе PHP, то внешний PHP-код должен идти в каталог "php". Всякий раз, когда вы создаете приложение с помощью команд rhc, создается локальный репозиторий, внутри которого вы найдете документ README, в котором перечислены этапы развертывания. Кроме того, вы можете обратиться к руководству пользователя OpenShift здесь:

https://www.openshift.com/sites/default/files/documents/OpenShift-2.0-User_Guide-en-US_5.pdf

Другие вопросы по тегам