Рубрики
Uncategorized

Сделай это идеально! Как настроить задачи GitHub.

Среда кодовых пространств, на обоих визуальных студиях контрольных пространств, так и для кодировщиков GitHub, полностью настроены … Теги с DevOps, кодовыми пространствами, разработчиками, удаленным.

Кодовые пространства (5 частей серии)

Среда кодовых пространств, на обоих визуальных студийных пространствах и кодированных пространствах GitHub, полностью настраиваются на основе Per Project, а также на пользователя.

Давайте посмотрим, как настроить их с помощью DEVContainer, DotFiles и пользовательских изображений контейнера.

вступление

Сегодня мы снова говорим о кодовых пространствах. У меня уже есть пост и 2 видео на эту тему, a Сначала посмотри видео где я изучаю визуальные студийные пространства и еще один, где я Ответь на самые распространенные вопросы О обоих визуальных студии индикации кодовых пространств и кодировании GitHub. Я очень рекомендую вам проверить эти видео, а также закончишься с этим постом.

Сегодня, вместо этого мы пойдем глубже в кодированные пространства Мы на самом деле собираемся исследовать, как мы можем настроить среды основываясь на наших потребностях.

Все, что я буду говорить о работах на обоих Простыра для визуальных студий и Гитбельные кодовые пространства Отказ

Есть 3 основных способа Чтобы настроить и персонализировать среду кодировщиков:

  • точечные файлы
  • devcontainer.json.
  • Пользовательские контейнерные изображения

Мы проходим всеми из них.

Видео

Если вы Визуальный учащийся , просто предпочитаю смотреть и слушать вместо чтения, или вы хотите увидеть это в действии, здесь у вас есть видео с целым объяснением, которое будет честно, гораздо более полное, чем этот пост.

Если вы скорее предпочитаете читать, ну … Давайте просто продолжим:)

Dotfiles.

Давайте начнем с dotfiles.

Что такое dotfiles и как использовать их с кодами? Я уже охватил это в моем предыдущем посте, но здесь у вас есть сводка.

DotFiles — это файлы, файлы имени которых начинается с точки (.) И они обычно содержат информацию о конфигурации для приложения. Общие примеры будут .gitignore а также .editorconfig.

Для кодовых пространств вы можете настроить DotFiles мало разных способов.

В Ris Visual Studio Codepaces вы можете связать репо, где вы сохранили свои доты в кодовое пространство при создании, как мы видим здесь (и это работает только с помощью контрольных пространств Visual Studio, поскольку в настоящее время нет создания пользовательского интерфейса для кодированных пространств Github)

Вы можете достичь того же с GitHub CodeSpace у вас есть Общественный репозиторий имени dotfiles на вашем счете.

Помните, что это работает только с публичным репоим, частным dotfiles Репозитории в настоящее время не поддерживаются.

Еще один способ состоит в том, чтобы связать ваши дотфилы после создания окружающей среды.

Для этого просто перейдите к настройкам, расширениям, визуальным студиям и прокрутите вниз, пока не увидите раздел DotFiles.

Я не буду идти более глубоко в том, как сделать dotfiles, уже есть много примеров на Github, постите здесь на dev и видео на Youtube, просто ищите dotfiles, и вы найдете все необходимое.

Одна окончательная записка на этом. Использование DotFiles называется « на пользовательскую базу настройки », потому что, особенно если вы находитесь на кодировании GitHub, эти настройки будут применяться ко всему средам, каждый раз, когда вы создаете новый, но это будет . только для Вы Другие люди, создающие свои среды для кодировщиков на одних и тех же проектах, не будут затронуты ваши дотефилы.

devcontainer.json.

Давайте перейдем к следующему способу настроить среды кодировщиков: файл devcontainer.json.

По-разному от предыдущего, используя devcontainer.json Файл это Настройка Per-Project Customization Отказ

Вы можете настроить конфигурацию по умолчанию для каждого нового кодирования для хранилища, чтобы убедиться, что все вкладчики имеют инструменты и настройки, которые им нужны, и это будет Примените к каждому созданию среды кодирования для этого репозитория Отказ

devcontainer.json Файл можно разместить в одном из двух мест в репозитории:

  • В корне репо, префикс с точкой: {Repository-root}/. Devcontainer.json
  • Внутри .devcontainer Папка, без «точки» в начале имени файла: {Repository-root}/. Devcontainer/devcontainer.json

Ох, и эти файлы поддерживают JSON с комментариями ( JSONC )!

Давайте посмотрим на структуру файла:

{
    // Open port 3000 by default
    "appPort": 3000,
    //"forwardPorts": [1, 2, 3],

    // Install needed extensions
    "extensions": [
      "ms-dotnettools.csharp",
      "ms-azuretools.vscode-azurefunctions",
      "ms-vscode.azure-account",
      "wakatime.vscode-wakatime",
      "davidanson.vscode-markdownlint",
      "github.vscode-pull-request-github",
      "johnpapa.vscode-peacock"
    ],

    // Adds VS Code settings.json values into the environment.
    "settings": {
      "peacock.remoteColor": "#0078D7"
    },

    // Run Bash script in .devcontainer directory
    "postCreateCommand": "/bin/bash ./.devcontainer/post-create.sh > ~/post-create.log",
  }

Настройки довольно неясно. Вы можете даже выполнить некоторые Пост Создать Сценарии для дальнейшего персонализации вашей среды.

Проверьте видео здесь для Полное объяснение этого файла свойств Отказ

Довольно круто верно? Таким образом, каждый раз, когда кому-то необходимо создать новые условия для кодировщиков на этом репо, они будут иметь Все, что им нужно уже настроить Действительно

Пользовательские контейнерные изображения

Последний способ настроить среду задачи: используя пользовательский контейнер для его загрузки.

Это, как вы можете себе представить, самый гибкий способ настроить окружающую среду, но, конечно, тот, который требует большей работы.

Использование пользовательского контейнера фактически опирается на вершину метода файла devcontainer.json. На самом деле, есть еще один раздел этого файла, который мы еще не видели, что позволяет настроить пользовательский контейнер и его свойства.

    //CUSTOM CONTAINER SECTION
    "name": "Codespaces",
    "dockerFile": "customImage.dockerfile",
    //image: "repo/image:tag"
    "remoteUser": "codespace",
    "workspaceMount": "source=${localWorkspaceFolder},target=/home/codespace/workspace,type=bind,consistency=cached",
    "workspaceFolder": "/home/codespace/workspace",
    "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined" ],

Когда этот раздел не содержит никакого значения конфигурации, предоставляется контейнер с изображением по умолчанию.

Изображение по умолчанию имеет ряд инструментов и установленных SDKS, включая самые популярные рамки, такие как .Сеть Core , Python С Java , Node.js И многое другое.

Вместо этого ваш пользовательский контейнер может содержать все и все, что вы хотите. Это, конечно, очень полезно, если вы используете Framework или SDK, который не присутствует в стандартном изображении, или если вы должны установить определенный пакет.

Там конечно есть набор Предпосылки что ваш пользовательский контейнер должен выполнить для работы с кодами.

  • Первый набор — это один из VS код удаленного сервера Что в основном включает в себя установку Docker, VSCODE и удаленного расширения разработки. Официальные документы здесь
  • Вместо этого, вместо этого является набор предпосылок для Live Share Отказ Те, кто зависит от использования Linux Distro, но обычно это просто Немногие библиотеки Отказ Официальные документы здесь

До тех пор, пока ваше изображение исполняет оба из них, вы хотите идти.

Что бы я порекомендовал, по крайней мере, в начале, это использовать Стандартные кодовые пространства Изображение Как базовое изображение для собственного пользовательского, а затем построить поверх этого (MCR.microsoft.com/vscode/devcontainers/universal:inux)

Еще раз, посмотрите на видео здесь к увидеть это в действии Отказ

Круто, не так ли?

Одна вещь, чтобы заметить, что это важно Чтобы следить за журналами на экране, когда вы используете новый контейнер. Если что-то пойдет не так по какой-либо причине, на самом деле проблема зарегистрирована, но через несколько секунд экран просто будет сообщить об общих «кодированных пространствах». Если вы не обращали внимания на журналы прокрутки, Вы не сможете понять, что случилось Поскольку нет никакого способа, или, по крайней мере, я не мог найти, чтобы получить журналы создания после факта.

Заключение

Хорошо, вот это за сегодня.

Как я уже упоминал в начале этого видео, те вещи Работа для обоих визуальных студийных пространств и кодировщиков GitHub , так как они в основном та же услуга.

Дайте мне знать в разделе «Комментарий» ниже того, что вы думаете об этих индикациях персонализации и возможностей настройки, и то, что вы используете визуальные студийные пространства или кодирующие пространства GitHub.

Ссылки и ссылки

Кодовые пространства (5 частей серии)

Оригинал: «https://dev.to/n3wt0n/make-it-perfect-how-to-customize-github-codespaces-2ma4»