Как я могу развернуть свое приложение nodejs в openshift без использования github?

Я создал приложение nodejs и теперь хочу развернуть его в openshift. Я не хочу использовать github, потому что я должен создать частный репозиторий, который я не могу. Также я не могу использовать «rhc», так как я новый пользователь. Есть ли способ сделать это? Я не могу найти никакого учебника об этом.


person Joseph    schedule 30.06.2017    source источник
comment
Вы всегда можете нажать на репозиторий git прямо во время развертывания, а затем удалить репо сразу после... очень маловероятно, что кто-то найдет репо за то время, которое вам потребуется, чтобы вытащить его на развернутую машину... просто мое 0,02 цента, когда я сталкиваюсь с этим на экзаменах по кодированию, и пока мы не храним данные на github, быстрое нажатие и извлечение, а затем удаление - довольно сдержанный...   -  person twknab    schedule 30.06.2017


Ответы (3)


Для OpenShift 3 вы можете использовать двоичную сборку источника ввода.

Сначала создайте сборку двоичного ввода.

oc new-build --name myapp --strategy=source --binary --image-stream=nodejs:latest

Теперь запустите новую сборку и загрузите исходный код из текущего каталога.

oc start-build myapp --from-dir=.

После завершения сборки разверните образ, созданный сборкой.

oc new-app myapp

Затем вы можете разоблачить службу.

oc expose svc/myapp

Каждый раз, когда вы хотите внести изменения, вам нужно будет запускать одну и ту же команду oc start-build в каталоге, где находится ваш исходный код.

person Graham Dumpleton    schedule 30.06.2017
comment
Так что мне не нужно использовать git? - person Joseph; 02.07.2017
comment
Используя этот метод нет, вы можете просто нажать из своей локальной файловой системы. Таким образом, вы можете использовать другую систему контроля версий, локальный Git, но без использования размещенного репозитория Git в качестве главного, или вы можете вообще не использовать систему контроля версий. - person Graham Dumpleton; 02.07.2017
comment
Я пробовал это, но когда я запускаю первую команду, я получаю: ошибка: пользователь airp320 не может создавать потоки изображений в проекте по умолчанию ошибка: пользователь airp320 не может создавать конфигурации сборки в проекте по умолчанию - person Joseph; 02.07.2017
comment
Создайте новый проект. Вы не должны пытаться что-либо делать в проекте default. Этот проект предназначен для служб, связанных с запуском самого OpenShift. Этот проект может использоваться только администратором, и даже тогда они не должны запускать в нем дополнительные вещи. Так что запустите oc new-project somename, чтобы создать новый проект и работать в нем. Если у вас уже есть проект, используйте oc project somename, чтобы переключиться на него. - person Graham Dumpleton; 02.07.2017
comment
Я сделал все, как ожидалось, но когда я открываю вкладку URL, я получаю «Приложение недоступно». Приложение отлично работает в локальной среде (это действительно простое приложение helloworld с экспресс-доставкой). - person Joseph; 07.07.2017
comment
Вы используете OpenShift Online или свою собственную установку OpenShift? В настоящее время у них есть некоторые проблемы с настройкой маршрута в онлайн-среде. Попробуйте использовать Minishift на своем локальном компьютере. - person Graham Dumpleton; 08.07.2017
comment
Я использую openshift онлайн. Почему я должен запускать свое приложение локально? Я хочу, чтобы мое приложение видели другие. - person Joseph; 08.07.2017
comment
Смысл запуска его на локальном экземпляре MiniShift состоит в том, чтобы просто убедиться, что все устанавливается и работает нормально. Это подтвердит, что вы в настоящее время затронуты проблемами маршрутизации OpenShift Online. MiniShift также отлично подходит для локальной разработки, прежде чем вы сделаете свои изменения общедоступными. - person Graham Dumpleton; 08.07.2017

Есть ли какой-либо другой репозиторий кода, который вы используете? СВН? Если SVN, вы можете использовать конвейеры с Jenkins.

Если нет, поместите приложение nodejs в контейнер докеров и отправьте его в концентратор докеров.

person Maikel Alderhout    schedule 30.06.2017

Я не вижу никого, кто мог бы предложить это, поэтому я сделаю это — вы с таким же успехом можете развернуть код из gitlab, страница, bigbucket или любой другой хостинг git.

На самом деле вы даже можете запустить свой собственный git-сервер внутри OpenShift.

oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/gitserver/gitserver-persistent.yaml
oc env dc/git -p ALLOW_ANON_GIT_PULL=false
oc policy add-role-to-user edit -z git
oc get route # to see your git server URL

Теперь вы должны иметь возможность отправлять/извлекать данные с этого сервера, используя свое имя пользователя и токен OpenShift (а также любых других пользователей, которых вы добавляете в проект). Из buildconfigs и других pods вы также можете использовать просто git в качестве имени хоста вашего git-сервера, потому что это должно разрешаться в IP-адрес service с тем же именем (опять же, только в том же проекте OpenShift).

Прочтите шаблон YAML (URL-адрес после oc create), чтобы узнать о дополнительных параметрах, которые вы можете использовать, например REQUIRE_GIT_AUTH.

Конечно, хорошо хранить зеркало/резервную копию git в другом месте, как и в случае с любым другим сервисом git.

ХТН

P.S. Забыл сказать, вам нужно установить кластер OpenShift v3 самостоятельно или подписаться на OpenShift Online (что, к сожалению, может занять некоторое время в банкомате).

person akostadinov    schedule 24.07.2017