Как установить gitlab на Windows

Обновлено: 02.07.2024

GitLab CI/CD использует различные концепции для описания и запуска вашей сборки и развертывания, одна из которых — «GitLab Runner». В этом руководстве я расскажу, как установить, зарегистрировать и запустить GitLab runner после этого. На момент написания этой статьи официально поддерживаемые двоичные файлы GitLab Runner доступны для следующих архитектур: x86, AMD64, ARM64, ARM, s390x, ppc64le. GitLab Runner официально поддерживает следующие операционные системы: Linux, Windows, macOS, FreeBSD.

Различные типы бегунов

Существуют различные типы бегунов GitLab, и они следующие:
– Общий раннер
– Конкретный раннер
– Групповой раннер

Общие исполнители подходят для вакансий со схожими требованиями и нескольких проектов. Вместо того, чтобы несколько Runners простаивали для многих проектов, вы можете иметь один или небольшое количество Runners, которые обрабатывают несколько проектов. Это облегчает их обслуживание и обновление. Shared Runners обрабатывают задания, используя очередь справедливого использования. В отличие от конкретных Runners, которые используют очередь FIFO, это предотвращает случаи, когда проекты создают сотни заданий, которые могут привести к потреблению всех доступных общих ресурсов Runners. Runner, который обслуживает все проекты, называется общим Runner .

Особые исполнители полезны для заданий с особыми требованиями или для проектов с особым спросом. Если у задания есть определенные требования, вы можете настроить конкретный бегун с учетом этого, не делая этого для всех бегунов. Например, если вы хотите развернуть определенный проект, вы можете настроить определенный Runner, чтобы он имел для этого правильные учетные данные. Использование тегов может быть полезным в этом случае. Определенные исполнители обрабатывают задания, используя очередь FIFO.

Групповые исполнители полезны, когда у вас есть несколько проектов в одной группе и вы хотите, чтобы все проекты имели доступ к набору исполнителей. Group Runners обрабатывают задания, используя очередь FIFO .

Установите GitLab Runner в Windows

Чтобы установить GitLab runner в Windows, выполните следующие действия.
1: Создайте папку где-нибудь в системе, например, на диске C. Его можно создать на любом другом диске: C:\GitLab-Runner .

2: Загрузите двоичный файл для 64-разрядной или 32-разрядной версии и поместите его в созданную вами папку.
– При нажатии на 46-битный исполняемый файл GitLab runner будет загружен, как показано ниже.

3: Скопируйте только что загруженный исполняемый файл GitLab runner и вставьте его в созданное место.
– Далее предполагается, что вы переименовали двоичный файл в GitLab-runner.exe (этот шаг необязателен). .

Примечание. Обязательно ограничьте права записи для каталога GitLab Runner и исполняемого файла . Если вы не установите эти разрешения, обычные пользователи смогут заменить исполняемый файл своим и запустить произвольный код с повышенными привилегиями. Вы можете проверить это, выполнив следующие действия.
– Щелкните правой кнопкой мыши каталог GitLab Runner, выберите «Свойства», а затем «Безопасность».
– Убедитесь, что обычным пользователям не назначено разрешение на запись.

4. Запустите командную строку с повышенными привилегиями, как показано ниже

Это обеспечит открытие командной строки от имени администратора, как показано ниже.
– Перейдите в каталог GitLab-Runner

Запуск службы с использованием встроенной системной учетной записи. Теперь нам нужно установить GitLab Runner как службу с помощью приведенной ниже команды.

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

Примечание. Когда вы запускаете .\gitlab-runner.exe install, он устанавливает gitlab-runner как службу Windows. Вы можете найти журналы в средстве просмотра событий с именем поставщика gitlab-runner. Вы также можете просмотреть это из PowerShell, используя приведенную ниже команду.

Просмотр установленной версии GitLab-Runner

Чтобы просмотреть версию установленного GitLab Runner, выполните команду, как показано на изображении ниже. Как видите, он будет отображать версию, ОС/архитектуру и т. д.

Запустите службу GitLab Runner. Для этого используйте приведенную ниже команду. На изображении ниже установленный GitLab-Runner уже запущен.

Зарегистрируйте GitLab Runner

Регистрация исполнителя — это процесс, который связывает его с одним или несколькими экземплярами GitLab. После установки приложения вы регистрируете отдельные средства выполнения или несколько средств выполнения на одном хост-компьютере, каждое с различной конфигурацией, повторяя команду регистрации. Исполнители — это агенты, которые запускают задания CI/CD, поступающие из GitLab.

Прежде чем регистрировать бегуна, вам необходимы следующие параметры:

  • Установите его на сервере, отличном от того, где установлен GitLab. (Это мы сделали на шагах выше).
  • Получить токен (Эти шаги будут расширены позже по мере нашего продвижения):
    • Чтобы запустить общий бегун, попросите администратора зайти в административную область GitLab и щелкнуть Обзор > Бегуны.
    • Чтобы запустить группу, выберите "Настройки > CI/CD" и разверните раздел "Исполнители".
    • Чтобы найти средство запуска для конкретного проекта, выберите "Настройки > CI/CD" и разверните раздел "Запуски".

    Выполните приведенную ниже команду, чтобы зарегистрировать GitLab-Runner

    Далее вам потребуется ввести URL-адрес вашего экземпляра GitLab (также известный как URL-адрес координатора gitlab-ci), как показано ниже

    Настройка конкретного GitLab-Runner:
    – введите токен, который вы получили для регистрации runner.
    – чтобы получить токен, вам потребуется доступ к вашему проекту GitLab, как описано выше

    Перейдите к следующему разделу «Бегуны» и разверните его, как показано ниже

    Как видите, теперь у нас есть доступ к токену регистрации, как показано ниже

    Введите регистрационный токен и
    – также введите описание бегуна. Вы можете изменить это значение позже в пользовательском интерфейсе GitLab.
    – Введите теги, связанные с бегуном, разделенные запятыми. Вы можете изменить это значение позже в пользовательском интерфейсе GitLab.

    Введите исполняющую программу Runner, например: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell: docker. Я буду использовать Shell, как показано ниже.

    Теперь вы успешно установили и зарегистрировали GitLab runner, как показано на рисунке выше. Если ваша регистрация в GitLab не удалась, вы можете просмотреть соответствующее руководство «Паника: не удалось зарегистрировать GitLab-runner, у вас могут быть проблемы с сетью».

    Примечание. Если вы указали docker в качестве исполнителя, вам будет предложено использовать образ по умолчанию для проектов, которые не определяют его в .gitlab-ci.yml. Вы можете ввести alpine:latest

    Вы можете увидеть конфигурацию GitLab Runner в файле config.toml в папке GitLab-Runner, как показано ниже.

    GitLab Runner реализует ряд исполнителей, которые можно использовать для запуска ваших сборок в различных сценариях. Исполнители поддерживают разные платформы и методологии построения проекта. В таблице ниже приведены основные сведения о каждом исполнителе, которые помогут вам решить, какой исполнитель использовать.

    Проверьте, активирован ли Runner для проекта

    По сути, вам придется выполнить те же шаги, которые обсуждались ранее. Нажмите на проект GitLab, перейдите в «Настройки» > «CI/CD» и разверните раздел «Runners» .

    Как вы можете видеть ниже, бегун активирован для этого проекта

    Хорошо сделано, поздравляю. Вы успешно выполнили все шаги, необходимые для настройки GitLab Runner в Windows. Я надеюсь, что вы нашли этот пост в блоге полезным. Если у вас есть какие-либо вопросы, дайте мне знать в сеансе комментариев.

    Чтобы начать участвовать в проектах GitLab, вы должны установить на свой компьютер соответствующий клиент Git. Информация об установке Git также доступна на официальном сайте Git.

    Поддерживаемые операционные системы

    Git доступен для следующих операционных систем:

    macOS

    Версия Git предоставляется macOS. Вы можете использовать эту версию или установить последнюю версию Git на macOS, загрузив ее с веб-сайта проекта. Мы рекомендуем установить Git вместе с Homebrew. С помощью Homebrew вы можете получить доступ к обширному набору библиотек и приложений с управлением их зависимостями.

    • 15 ГБ свободного места на диске для Homebrew и Xcode.
    • Дополнительное место на диске для любых дополнительных библиотек разработки.

    Откройте терминал и установите инструменты командной строки XCode:

    В терминале убедитесь, что Git работает на вашем компьютере:

    Убунту Линукс

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

    Чтобы убедиться, что Git работает на вашем компьютере, выполните:

    Окна

    Перейдите на веб-сайт Git, а затем загрузите и установите Git для Windows.

    После установки Git

    После того, как вы успешно установите Git на свой компьютер, узнайте, как добавить ключ SSH в GitLab.

    Помощь и обратная связь

    Редактируйте эту страницу, чтобы исправить ошибку или добавить улучшение в мерж-реквест.
    Создайте задачу, чтобы предложить улучшение этой страницы.
    Показывать и публиковать комментарии, чтобы просматривать и оставлять отзывы об этой странице.

    Товар

    Создайте проблему, если вам что-то не нравится в этой функции.
    Предложите функциональность, отправив запрос функции.
    Присоединяйтесь к программе First Look, чтобы помочь создавать новые функции.

    Доступность функций и пробные версии продуктов

    Просмотрите цены, чтобы увидеть все уровни и функции GitLab или обновиться.
    Попробуйте GitLab бесплатно с доступом ко всем функциям на 30 дней.

    Получить помощь

    Если вы не нашли то, что искали, выполните поиск в документации.

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

    При возникновении проблем с настройкой или использованием этой функции (в зависимости от вашей подписки на GitLab).

    В GitLab Runner 10 исполняемый файл был переименован в gitlab-runner. Если вы хотите установить более раннюю версию GitLab Runner 10, посетите старую документацию.

    1. Создайте папку где-нибудь в системе, например: C:\GitLab-Runner .
    2. Загрузите двоичный файл для 64-разрядной или 32-разрядной версии и поместите его в созданную вами папку. Далее предполагается, что вы переименовали двоичный файл в gitlab-runner.exe (необязательно). Вы можете загрузить двоичный файл для каждой доступной версии, как описано в Bleeding Edge — загрузите любой другой выпуск с тегами.
    3. Обязательно ограничьте права записи для каталога и исполняемого файла GitLab Runner. Если вы не установите эти разрешения, обычные пользователи смогут заменить исполняемый файл своим и запустить произвольный код с повышенными привилегиями.
    4. Запустите командную строку с повышенными привилегиями:
    5. Зарегистрируйте участника.

    Установите GitLab Runner как службу и запустите ее. Вы можете запустить службу с помощью встроенной системной учетной записи (рекомендуется) или с помощью учетной записи пользователя.

    Запуск службы с использованием встроенной системной учетной записи (в каталоге, созданном на шаге 1 выше, например: C:\GitLab-Runner )

    Запуск службы с использованием учетной записи пользователя (в каталоге, созданном на шаге 1 выше, например: C:\GitLab-Runner )

    Необходимо ввести действительный пароль для текущей учетной записи пользователя, поскольку он необходим для запуска службы в Windows:

    Вуаля! Runner установлен, работает и будет запускаться снова после каждой перезагрузки системы. Журналы хранятся в журнале событий Windows.

    Обновить

    Остановите службу (по-прежнему требуется командная строка с повышенными привилегиями):

    Загрузите двоичный файл для 64-разрядной или 32-разрядной версии и замените исполняемый файл бегуна. Вы можете загрузить двоичный файл для каждой доступной версии, как описано в Bleeding Edge — загрузите любой другой выпуск с тегами.

    Запустить службу:

    Удалить

    Политика поддержки версий Windows

    Мы придерживаемся той же политики жизненного цикла, что и каналы обслуживания Microsoft.

    • Канал долгосрочного обслуживания, версии в течение 5 лет после даты их выпуска. Обратите внимание, что мы не поддерживаем версии с расширенной поддержкой.
    • Версии Semi-Annual Channel в течение 18 месяцев после даты их выпуска. Мы не поддерживаем эти версии после окончания основной поддержки.

    Это относится как к двоичным файлам Windows, которые мы распространяем, так и к исполнителю Docker.

    Исполнитель Docker для контейнеров Windows предъявляет строгие требования к версии, поскольку контейнеры должны соответствовать версии операционной системы хоста. Дополнительные сведения см. в списке поддерживаемых контейнеров Windows.

    Будущие выпуски

    Microsoft выпускает новые продукты Windows Server в полугодовом канале два раза в год, а каждые 2–3 года новая основная версия Windows Sever выпускается в канале долгосрочного обслуживания (LTSC).

    GitLab стремится тестировать и выпускать новые вспомогательные образы GitLab Runner, включающие последнюю версию Windows Server (Semi-Annual Channel), в течение 1 месяца после официальной даты выпуска Microsoft на Google Cloud Platform. Даты доступности см. в текущих версиях Windows Server по списку вариантов обслуживания.

    Устранение неполадок в Windows

    Обязательно прочтите раздел часто задаваемых вопросов, в котором описаны некоторые наиболее распространенные проблемы с GitLab Runner.

    Если вы столкнулись с ошибкой типа Недопустимое имя учетной записи, попробуйте добавить .\ перед именем пользователя:

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

    Если у вас нет пароля Windows, служба GitLab Runner не запустится, но вы можете использовать встроенную системную учетную запись.

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

    Получить журналы бегунов

    Когда вы запускаете .\gitlab-runner.exe install, он устанавливает gitlab-runner как службу Windows. Вы можете найти журналы в средстве просмотра событий с именем поставщика gitlab-runner .

    Если у вас нет доступа к графическому интерфейсу, в PowerShell вы можете запустить Get-WinEvent .

    Я получаю PathTooLongException во время сборки в Windows

    Это вызвано такими инструментами, как npm, которые иногда создают структуры каталогов с путями длиной более 260 символов. Есть два возможных решения, которые вы можете применить для решения проблемы.

    a) Используйте Git с включенным core.longpaths

    Вы можете избежать этой проблемы, используя Git для очистки структуры каталогов, сначала запустите git config --system core.longpaths true из командной строки, а затем настройте свой проект на использование git fetch со страницы настроек проекта GitLab CI.< /p>

    б) Используйте инструменты NTFSSecurity для PowerShell

    Модуль PowerShell NTFSSecurity предоставляет метод Remove-Item2, который поддерживает длинные пути. GitLab Runner обнаружит его, если он доступен, и автоматически использует его.

    Я не могу запускать сценарии Windows BASH; Я получаю Системе не удается найти указанную метку пакета - buildscript

    Вам нужно добавить call к строке вашего пакетного файла в .gitlab-ci.yml, чтобы он выглядел как call C:\path\to\test.bat . Вот более полный пример:

    Как получить цветной вывод в веб-терминале?

    Короткий ответ:

    Убедитесь, что в выходных данных вашей программы используются цветовые коды ANSI. В целях форматирования текста предположим, что вы работаете в эмуляторе терминала UNIX ANSI (поскольку это то, что выводит веб-интерфейс).

    Подробный ответ:

    Веб-интерфейс для GitLab CI эмулирует терминал UNIX ANSI (по крайней мере, частично). Gitlab-runner направляет любые выходные данные сборки непосредственно в веб-интерфейс. Это означает, что любые имеющиеся цветовые коды ANSI будут учитываться.

    Старые версии терминала CMD Windows (до Win10 версии 1511) не поддерживают цветовые коды ANSI — вместо этого они используют вызовы win32 ( ANSI.SYS ), которых нет в отображаемой строке. При написании кроссплатформенных программ разработчик обычно по умолчанию использует цветовые коды ANSI и преобразует их в вызовы win32 при работе в системе Windows (пример: Colorama).

    Если ваша программа выполняет описанное выше, вам необходимо отключить это преобразование для сборок CI, чтобы коды ANSI оставались в строке.

    Служба не запущена из-за ошибки входа в систему при запуске службы

    При установке и запуске службы GitLab Runner в Windows вы можете столкнуться с такой ошибкой:

    1. Выберите Панель управления > Система и безопасность > Администрирование.
    2. Откройте инструмент Локальная политика безопасности.
    3. Выберите Настройки безопасности > Локальные политики > Назначение прав пользователя в списке слева.
    4. Откройте Вход в качестве службы в списке справа.
    5. Нажмите кнопку Добавить пользователя или группу….
    6. Добавьте пользователя («вручную» или с помощью кнопки Дополнительно…) и примените настройки.

    Согласно документации Microsoft, это должно работать для: Windows Vista, Windows Server 2008, Windows 7, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 R2, Windows Server 2012 и Windows 8.

    Инструмент Локальная политика безопасности может быть недоступен в некоторых версиях Windows, например в варианте «Домашняя версия» каждой версии.

    После добавления SeServiceLogonRight для пользователя, используемого в конфигурации службы, команда gitlab-runner start должна завершиться без сбоев, а служба должна быть запущена правильно.

    Задание помечено как выполненное успешно или ошибочно

    Большинство программ Windows выводят код выхода 0 в случае успеха. Однако некоторые программы не возвращают код выхода или имеют другое значение успеха. Примером может служить инструмент Windows robocopy. Следующий файл .gitlab-ci.yml завершается с ошибкой, хотя должен быть успешным, из-за кода выхода, выводимого robocopy:

    В приведенном выше случае вам необходимо вручную добавить в скрипт проверку кода выхода: . Например, вы можете создать скрипт powershell:

    И измените файл .gitlab-ci.yml на:

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

    Задание отмечено как успешное и прекращено на полпути с помощью Kubernetes executor

    Исполнитель Docker: неподдерживаемая версия Windows

    GitLab Runner проверяет версию Windows Server, чтобы убедиться, что она поддерживается.

    Для этого запускается docker info .

    Если GitLab Runner не запускается со следующей ошибкой, но при этом не указана версия Windows Server, вероятной основной причиной является слишком старая версия Docker.

    Ошибка должна содержать подробную информацию о версии Windows Server, которая затем сравнивается с версиями, поддерживаемыми GitLab Runner.

    Docker 17.06.2 на Windows Server возвращает следующее в выходных данных docker info .

    Исправление в этом случае заключается в обновлении версии Docker той же или более поздней версии, чем версия Windows Server.

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

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

    Контейнер сборки не может подключиться к сервисным контейнерам

    • Используйте сетевой режим, который создает сеть для каждого задания.
    • Убедитесь, что флаг функции FF_NETWORK_PER_BUILD включен.

    Помощь и обратная связь

    Редактируйте эту страницу, чтобы исправить ошибку или добавить улучшение в мерж-реквест.
    Создайте задачу, чтобы предложить улучшение этой страницы.
    Показывать и публиковать комментарии, чтобы просматривать и оставлять отзывы об этой странице.

    Товар

    Создайте проблему, если вам что-то не нравится в этой функции.
    Предложите функциональность, отправив запрос функции.
    Присоединяйтесь к программе First Look, чтобы помочь создавать новые функции.

    Доступность функций и пробные версии продуктов

    Просмотрите цены, чтобы увидеть все уровни и функции GitLab или обновиться.
    Попробуйте GitLab бесплатно с доступом ко всем функциям на 30 дней.

    Получить помощь

    Если вы не нашли то, что искали, выполните поиск в документации.

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

    При возникновении проблем с настройкой или использованием этой функции (в зависимости от вашей подписки на GitLab).

    В этой статье мы будем использовать версию Core и узнаем, как настроить репозиторий GitLab в системе Windows, чтобы управлять вашими кодами и проектами. Итак, приступим:

    <р>1. Создайте учетную запись на GitLab.

    <р>2. Создайте новый проект с именем «Тест».


    <р>3. Загрузите Git для Windows и установите его.

    <р>4. Откройте Cmd и выполните следующую команду, чтобы проверить успешную установку Git.


    <р>5. Задайте имя пользователя и адрес электронной почты

    Примечание. Имя пользователя и адрес электронной почты должны совпадать с вашей учетной записью Gitlab.

    <р>6. Проверить на успех:


    <р>7. Перейдите в каталог, откуда вы хотите загрузить проект. Щелкните правой кнопкой мыши и откройте «Git Bash Here».


    <р>8. Инициализируйте Git здесь.


    <р>9. Добавить изменения из всех отслеживаемых и неотслеживаемых файлов.


    <р>10. Чтобы добавить новый пульт, используйте URL-адрес проекта из GitLab:


    <р>11. Зафиксировать изменения с сообщением:


    <р>12. Теперь отправьте проект на GitLab


    Получить репозиторий GitLab

    <р>13. Перейдите в ветку master, чтобы получить оттуда последние изменения

    <р>14. Скачать последние изменения в проекте

    (REMOTE: origin) (NAME-OF-FRANCH: может быть master или существующая ветвь)

    Создать новую ветку

    <р>15. Создайте ветку. Пробелы не распознаются, поэтому вам нужно будет использовать дефис или подчеркивание.

    <р>16. Работа с уже созданной веткой

    <р>17. Просмотрите внесенные вами изменения

    <р>18. Добавьте изменения для фиксации. Вы увидите свои изменения красным, когда наберете «git status».

    Читайте также: