Найти в Дзене
Chidorin

Swift + VSCode + RaspberryPi 4 + Docker + Vapor

Продолжение поиска подходящего рабочего пространства для Swift. С момента описания прошлого рабочего пространства с NanoPi Neo 3 утекло достаточно времени, за которое одноплатник показал себя уверенно как машинка для конечного использования (запустил и забыл), но не как платформа для тестов и разработки (нехватка 1/2ГБ, слабый процессор дают о себе знать), VSCode в конце 2023 прекратил поддержку High Sierra, высвободилась малина 4 и появился macmini m2. Поэтому решил заняться перестройкой рабочего пространства, пока особо далеко не уходя от прошлой связки. А именно: Накатил серверную rasbianos (lite system/stage2) на 4гб малину с логином по ssh без пароля и доступом по адресу raspberrypi.local (как же это удобно😲), установил последний VSCode c расширениями Remote SSH и Dev Containers на МакМини. В малине установил докер, портейнер, добавил к контейнеру привязку к папке в хосте, где и будут храниться проекты. Предыдущий опыт показал, что переодически приходится пересобирать контейнер,

Продолжение поиска подходящего рабочего пространства для Swift.

С момента описания прошлого рабочего пространства с NanoPi Neo 3 утекло достаточно времени, за которое одноплатник показал себя уверенно как машинка для конечного использования (запустил и забыл), но не как платформа для тестов и разработки (нехватка 1/2ГБ, слабый процессор дают о себе знать), VSCode в конце 2023 прекратил поддержку High Sierra, высвободилась малина 4 и появился macmini m2. Поэтому решил заняться перестройкой рабочего пространства, пока особо далеко не уходя от прошлой связки.

А именно:

Накатил серверную rasbianos (lite system/stage2) на 4гб малину с логином по ssh без пароля и доступом по адресу raspberrypi.local (как же это удобно😲), установил последний VSCode c расширениями Remote SSH и Dev Containers на МакМини.

В малине установил докер, портейнер, добавил к контейнеру привязку к папке в хосте, где и будут храниться проекты. Предыдущий опыт показал, что переодически приходится пересобирать контейнер, а с ним и перенастраивать/перезаписывать проекты, поэтому решил рассматривать контейнер меньше как ВМ, а больше как внешняя среда в которой запускается/управляется проект, хранящийся на хосте (малине).

В VSCode настроил ssh соединение c RemoteCommand, которая выполняется по подключении (без неё не появляются докер контейнеры во вкладке Контейнеры разработки) *вместо RemoteCommand можно от имени пользователя выполнить команду по добавлении пользователя в докер sudo usermod -aG docker $USER и перезапустить одноплатник*

-2
-3
-4

Это позволяет подключиться к raspberrypi.local2, а потом выбрать к какому контейнеру на малине

Результат двух расширений: Dev Containers & SSH Remote
Результат двух расширений: Dev Containers & SSH Remote

Далее идёт обычный рабочий процесс с запуском приложения через терминал VSCode'a swift run App

П.С. Так же имеется расширение GigaCode для изучения, работать с ним в режиме чата в узкой панели не очень удобно (возможно как-то можно вынести во вкладку обычную), а пока довольно удобный креативный помощник, который и функцию простую напишет, и творчески предложит новые варианты на основе первоначальных

Был введён Лес, а далее подумать ещё не успел, а уже предложило другие варианты
Был введён Лес, а далее подумать ещё не успел, а уже предложило другие варианты