Этот сценарий загружает tar-файл VS Code Server/CLI, а затем извлекает его в место, ожидаемое туннелями, созданными клиентами VS Code.
Целью этого сценария является предварительная установка двоичного файла VS Code во время сборки образа контейнера. В определенных сценариях это помогает гарантировать, что двоичный файл будет доступен даже при отсутствии Интернета; при этом позволяя вашему клиенту VS Code туннелировать к контейнеру.
Если двоичный файл VS Code устарел, чтобы получить последнюю версию, перезапустите скрипт.
Первоначальная причина заключалась и остается в том, чтобы предотвратить постоянную загрузку и установку сервера VS Code, когда контейнер удаляется, а затем запускается снова позже. Поскольку сервер встроен в образ, это также должно сократить время подготовки контейнера разработки.
Первоначально он начинался как Gist; с предыдущими версиями сценария вы можете ознакомиться по адресу b01/download-vs-code-server.sh.
curl -L https://raw.githubusercontent.com/b01/dl-vscode-server/main/download-vs-code-server.sh
| bash -s -- " linux "
DL_VER= "0.2.1"
# Install VS Code Server
RUN curl -LO https://raw.githubusercontent.com/b01/dl-vscode-server/refs/tags/${DL_VER}/download-vs-code.sh
&& chmod +x download-vs-code.sh
&& ./download-vs-code.sh "linux" "x64" --extensions "dbaeumer.vscode-eslint"
download-vs-code.sh [options]
download-vs-code.sh " linux " " x64 " --extensions " dbaeumer.vscode-eslint " --use-commit 384ff7382de624fb94dbaf6da11977bba1ecd427
--insider
Переключает на предварительную версию выбранного двоичного файла (сервера или CLI).
--dump-sha
Распечатает последний sha коммита для VS Code (сервер и CLI синхронизированы и всегда одинаковы)
--cli
Переключает двоичную загрузку VS Code CLI.
--alpine
Работает только при загрузке VS Code Server, он принудительно устанавливает PLATFORM=linux и ARCH=alpine, поскольку разработчики отклонились от стандартного формата, используемого для всех остальных.
-h, --help
Распечатать информацию об использовании
--extensions
указывает, какие расширения устанавливать. ожидает строку полных имен расширений, разделенных пробелом, например «ms-vscode.PowerShell redhat.ansible ms-python.vscode-pylance».
Пример
download-vs-code.sh " linux " " x64 " --extensions " ms-vscode.cpptools ms-vscode.cpptools-extension-pack "
--use-commit
Загрузите VS Code Server/CLI с предоставленным коммитом. Это позволяет загрузить соответствующий сервер VS Code для существующей установки VS Code, которая не является новейшей версией фиксации.