Доброго дня!
Я занимаюсь веб разработкой на майрософтовском стеке. Мне нравится винда, нравится visual studio, нравится писать на c#, я разобрался с IIS. Если что-то нужно, то через удалённый рабочий стол захожу на сервер, там практически такая же винда, тыкаю мышкой по кнопкам и делаю что необходимо. С этим нет проблем на работе, есть всякие оплаченные лицензии, но когда я делаю проекты для себя, то аренда хостинга с виндовыми лицухами стоит гораздо дороже, чем сервера на линуксе. Плюс периодически проскакивают истории, как компания писала на .net стеке, а сверху приходит распоряжение мигрировать на опен сорц и начинается какой-то ад (хотя это звоночек, что нужно сваливать из такой компани).
Проблема в том, что я абсолютно не втыкаю в линукс.
Появился вот .net core, его вроде как можно запускать на никсовых серверах. Я пытался посмотреть (в целях самообразования) как это сделать - несколько листов каких-то иероглифов (непонятных мне команд) чтобы настроить сервер. Потом поднятие каких-то проксирующих веб серверов. Приложение хостится на одном сервере, поднимается nginx, всё это каким-то волшебством связывается. Потом чуть ли не вручную выдираешь dll из своего проекта, их нужно как-то по особому то ли вручную скомплировать то ли хрен его знает что там вообще нужно, вручную перетаскиваешь, не забыв окропить святой водой и перекрестить, и вуаля, всё работает (или нет). На виндовом же сервере, если есть возможность, то один раз залезаю, настраиваю WebPublish в несколько кликов, забираю профиль и публикую проект одной кнопкой за несколько секунд. Если нет такой возможности, то есть фтп, подольше всё делается, но так же одной кнопкой из студии публикуется. После такого удобства, я даже начать не могу ковыряться с линуксом.
Недавно у меня появился Raspberry Pi 3, в котором прям так и говорится: "Это просто маленький компьютер с линуксом. Если хотите попробовать свои силы в изучении линукса, но боитесь ставить его на домашнюю машину, то малина именно то, что вам нужно. Даже если вы полностью закосячите, просто переустанавливаете на флешку чистый образ и занимаетесь дальше. Никаких проблем, никакой ответственности".
И я опять пришел к проблеме, озвученной в начале. Проблема в том, что я тупой. Я могу взять флешку. Залить туда образ любого линукса, допустим, Ubuntu 16.04, а дальше-то чего? Я даже не знаю, как туда залезть и начать чего-то устанавливать. Предположим. Просто представим, что я подниму весь этот шаманизм и заставлю его работать. Чтобы запустить там моё приложение, мне нужно будет его каким-то чудом, чуть ли не вручную правя бинарники, корректно скомпилировать, вручную перетащить файлы и вручную запустить. И это нужно будет делать каждый раз при каждом обновлении. И вишенкой на торте нужно будет опять что-то настраивать в неизвестном мне мире, чтобы прицепить статический айпи от провайдера, чтобы запустить сайт в интернетах. От осознания такой перспективы у меня начинает болеть живот.
И я где-то в глубинах души понимаю, что так быть не должно. Должны быть какие-то гладкие и изящные решения, но я даже не знаю, какие вопросы задавать всемогущему гуглу. У меня нет друзей или знакомых хоть частично соприкасающимися с этими технологиями и я не знаю, где можно найти людей, увлечённых именно этой тематикой или ресурсы по ней (желательно русскоязычные, ясен банан). Я слышал, что есть такая технология Docker - это вроде как единоразовая настройка сервера и так как у меня разнородные среды (разработка/отладка в винде и хостинг на линуксе), то его прямо-таки необходимо использовать. С ним я раньше не сталкивался, так как не было необходимости.
Вопрос: можно ли запускать эти контейнеры на винде при разработке? или как вообще поступать в такой ситуации?
Я так понимаю, что вот с этими всеми настройками мне может помочь кто-то со стороны, мне это не особо интересно, мне нравится заниматься разработкой, писать сайты, а не вот это вот всё. Но я не знаю, где искать человека, который сможет? Я могу проставиться, либо заплатить каких-то денег, но не знаю, что должно быть у такого специалиста в навыках, чтобы искать, к примеру, на фрилансе.
Итак, задача: запустить веб сайт на домашней Raspberry Pi в интернет.
Условия: Разработка на .net core в винде в visual studio. Публикация, если возможно, одной кнопкой. Хостинг на малине.
Вопросы:
1. Инструкция для чайников что и как ставить в такой ситуации ставить на распберри.
2. Инструкция для чайников как протащить белые айпишники и сделать доступным сайт в интернетах.
3. Как настроить рабочий процесс по публикации и отладке такой среды - разработка на винде публикация в ARM32 (если не ошибаюсь) тоже какие-нибудь инструкции или ресурсы кто с этим занимается.
Помогите, пожалуйста, Витичке нужна ваша помощь. Не оставайтесь равнодушными.
dotnet publish -o [путь] -c release -r linux-x64 команда для компиляции и публикации приложения под линукс. Как поднять apache, nginx в качестве прокси, есть куча инфы. Как запустить сервис под линуксом, тоже.
Если Вы с английским дружите: статья на сайте Скота Ханзельмана (SCOTT HANSELMAN), известного разработчика в области ASP.Net/Core. Должен сразу предупредить, что с одного клика не получится. Как Вы уже сами писали, придется поковыряться в Docker.
Вопрос: можно ли запускать эти контейнеры на винде при разработке? или как вообще поступать в такой ситуации?
Ответ: да. Вы готовите контейнер. Используете его в разработке, а потом выкатываете его уже на боевой Raspberry.
1. Инструкция для чайников что и как ставить в такой ситуации ставить на распберри.
Смотрите ссылку выше.
2. Инструкция для чайников как протащить белые айпишники и сделать доступным сайт в интернетах.
У вас есть белый IP? Если да - прописываете его в доменной зоне у регистратора, а потом настраиваете его как IP- адресс на Raspberry. Только если у вас есть средства на белый IP, зачем этот весь гемор с Raspberry. Самый дешевый VPS хостинг сейчас стоит копейки и как правило там один белый адресс уже включен. Вы Docker контейнер можете накатить и на Линукс на VPS.
Если нет - Вам нужен динамический DNS.
3. Как настроить рабочий процесс по публикации и отладке такой среды - разработка на винде публикация в ARM32 (если не ошибаюсь) тоже какие-нибудь инструкции или ресурсы кто с этим занимается.
Доброго дня!
Статью обязательно посмотрю. С одного клика не получится, я уже понял ) С докером печальная история, он работает начиная с вин10про, у меня дома стоит 8.1, переустанавливать систему только из-за этого желания пока нет. Десятка стоит на работе, но там некогда ковыряться со своими хобби. Если по другому не получится, то придется как-то поднатужиться.
Белый ip у хостера стоит 100 рублей, хотя давно уже не смотрел тарифы. Аренда виртуалки (2гб рам, 1 ядро) от 800 рублей, если не ошибаюсь, возможно, есть чуть дешевле, не копался. Дороже видел, дешевле нет. Да и вообще, это скорее в образовательных целях, что именно вот на этой штуке, которую можно потрогать, на ней висит какой-то сайт. Плюс на будущее, если вообще получится, подключить несколько штук, сделать распределенный сервер, всякие там замеры производительности по нагрузочному тестированию.
CI\CD я как представляю себе, что это просто запуск тестов после публикации. У меня с тестами не очень сложилось, на всех проектах, где я был, либо совсем не писалось тестов, либо они скатывались в какое-то болото и на них откровенно забивали.
С этим пунктом я имел в виду такие ситуации, что в среде разработки всё работает, публикуешь, а там проект не запускается, (думаю, что причин не запуска в разнородных средах будет масса), банально, одна из библиотек не той версии загрузилась. Если проект не запускается, то тестирование тут не поможет, я имел в виду вот такое поведение и как с этим бороться.
Вчера поставил себе виртуалку с линуксом, читал, что visual studio ставится и на линукс тоже. Ну, чтобы хоть как-то приблизить окружение. Там visual studio code и она прям вообще другая. Скачал гит, скачал какой-то свой маленький проект, который писался на винде, даж не понял, как его запустить ) в общем, в ближайшее время буду курить мануалы по студии для начала. Потом попробую поработать с докером с линукса.
В общем, спасибо большое за участие, работа кипит )
CI\CD я как представляю себе, что это просто запуск тестов после публикации.
Вы ошибаетесь. Это не только тесты.
Вчера поставил себе виртуалку с линуксом, читал, что visual studio ставится и на линукс тоже. Ну, чтобы хоть как-то приблизить окружение. Там visual studio code и она прям вообще другая. Скачал гит, скачал какой-то свой маленький проект, который писался на винде, даж не понял, как его запустить ) в общем, в ближайшее время буду курить мануалы по студии для начала.
Если нужно опубликовать свое приложение в "интернетах", то проще использовать PaaS Heroku.
Тогда не нужны никакие "малины". Deploy asp.net core 2.0 apps on Heroku
Привет!
PaaS это просто как хостер? У меня есть большое желание разобраться именно с малиной и домашним хостингом ) дела идут крайне вяло, но я не унываю, пока прошёл только шаги новичка для малины, теперь нужно курить докер
Виктор П., это типа хостера, но который предоставляет простой способ установки и управления приложениями, не заморачиваясь с нюансами системного администрирования, масштабирования и т.д.
Роман Мирр, Привет, я просто пробежался по старым темам без ответов, проставил )
В целом у этого предприятия было две задачи, первая академическая, собственно, что описано в этом посте. Тут я немного потужился и по итогу забил.
Вторая задача - использование малины в роботостроении, хотел сделать шагающего робота с камерой и управлением через компьютер. Собственно, на малине ставится вебсервис с какой-то апишкой, дергая за которую отправляются нужные команды в ардуино (у меня IskraJS). Там я помучался немного с убунтой (я так понял, что-то не то с двумя образами, которые я пытался залить), дошло до того, что на убунте в принципе криво работали малиновые порты и я перешел на практически "родной" распбиан, с ним всё взлетело.
Собственно, вместо c# я просто поднял node.js, апишка получилась простая, да и хрен бы с этим си диезом, задача была выполнена )
А в целом проект вялотекущий, дальше я занимался сервами и механикой, изучал моделирование, но так же практически безуспешно, какое-то время поиграл с лего майндштормом.,Есть желание вернуться к такому проекту (малина + искра). Единственное, вместо шагающего робота уже хочу использовать гусеничную платформу, думаю взять на алишке, когда в ноябре будут скидки, а то всё равно дороговато как-то, 6-8 тысяч за гусеницы