Поделиться через


Выполнение автоматической установки

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

С помощью автоматической установки можно заранее настроить все параметры конфигурации для экземпляра Azure DevOps Server. Команда tfsconfig unattend особенно полезна, если вы знакомы с процессом конфигурации Azure DevOps Server и развертываете Azure DevOps в многомашинной среде.

Например, многие крупномасштабные корпоративные системы имеют несколько серверов, предназначенных для сборки. Автоматическая установка позволяет администратору быстро запустить процесс установки Team Build на этих компьютерах без необходимости контролировать каждую из них независимо. Кроме того, так как конфигурация для каждого сервера сборки, скорее всего, будет почти или полностью идентична, необходимо быстро задать параметры конфигурации каждого компьютера.

Внимание

Эта статья описывает использование команды tfsconfig unattend для выполнения автоматической установки без вмешательства на сервере Azure DevOps Server 2019. Хотя шаги аналогичны предыдущим версиям Team Foundation Server, синтаксис команды tfsconfig unattend изменился. Для получения дополнительных сведений выберите нужную версию статьи из TFSConfig, unattend.

Используйте команду unattend для выполнения следующих типов установок:

  • Новая установка одного сервера или нескольких серверов
  • Обновление
  • Модернизация перед производством
  • Настройка нового уровня приложений
  • Клонирование существующего развертывания
  • Настройка прокси-сервера управления версиями

Сведения о синтаксисе использования команды tfsconfig unattend см. в разделе "Использование TFSConfig" для управления локальной версией Azure DevOps, режим без присмотра.

Предварительные условия

  1. Подготовьте один компьютер, удовлетворяющий требованиям к системе.

  2. Если вы не планируете использовать SQL Server Express, настройте поддерживаемую версию SQL Server. При настройке SQL Server для Azure DevOps в локальной среде по крайней мере установите ядро СУБД и полнотекстовые и семантические извлечения для функций поиска.

    Рекомендуется использовать SQL Server Express только для личных или ознакомительных развертываний. Платные копии локальной среды Azure DevOps включают лицензию SQL Server Standard. Дополнительные сведения см. в разделе о ценах на Azure DevOps Server. Если вы используете включенную лицензию, ее можно использовать только для баз данных, созданных с этими продуктами.

  3. Учетная запись, используемая для настройки установки, должна быть членом роли сервера sysadmin в SQL Server.

    Примечание.

    Установка Azure DevOps в локальной среде включает набор операций, требующих высокой степени привилегий. К этим операциям относятся создание баз данных, подготовка имен входа для учетных записей служб и многое другое. Технически, все, что нужно:

    • Членство в роли администратора сервера.
    • ALTER ANY LOGIN, CREATE ANY DATABASE и VIEW ANY DEFINITION разрешения на уровне сервера.
    • Разрешение на управление основной базой данных.
      Членство в роли сервера sysadmin предоставляет все эти членства и права доступа. Это самый простой способ обеспечить успешное выполнение конфигурации. При необходимости вы можете отозвать эти членства и разрешения после установки.
  4. Для поддержки установки и настройки расширения поиска необходимо указать имя пользователя и пароль. Установка и настройка поиска поддерживает функции поиска кода, поиска рабочих элементов и поиска по вики. Дополнительные сведения см. в разделе "Настройка поиска".

    Примечание.

    Для поиска также требуется Oracle Server JRE 8 (обновление 60 или более поздней версии). Вы можете скачать и установить или обновить до последней версии, приняв лицензионное соглашение Oracle Binary Code для сервера JRE и выбрав "Настроить". Обратите внимание, что при этом переменная среды JAVA_HOME указывает на каталог установки Java, и что сервер JRE не предоставляет автоматические обновления.

  5. При настройке уровня приложения у вас есть выбор параметров веб-сайта. Просмотрите параметры веб-сайта, чтобы понять варианты и требования.

Поддерживаемые установки

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

Ниже приведен список имен и описаний типов неприсматриваемых конфигураций:

тип установки Описание
NewServerBasic Настраивает основные службы разработки для Azure DevOps Server. К ним относятся Azure Boards (отслеживание работы), Azure Repos (контроль версий), Azure Pipelines (сборка и выпуск), и по желанию, Поиск.
NewServerAdvanced Настраивает основные службы разработки и разрешает необязательную настройку интеграции со службами Reporting Services.
Обновление Обновляет Azure DevOps Server до текущей версии из поддерживаемого предыдущего выпуска.
PreProductionUpgrade Проверьте обновление существующего развертывания Azure DevOps Server в предпроизводственной среде. Обычно это делается с помощью баз данных, восстановленных из рабочих резервных копий. Этот сценарий включает дополнительные шаги, чтобы гарантировать, что новое развертывание не будет препятствовать рабочему развертыванию.
УровеньПриложенияТолькоБазовый Настройте новый уровень приложений с помощью существующих параметров из предоставленной базы данных конфигурации. Этот параметр позволяет быстро развернуть новый уровень приложения, быстро наладить работу, используя существующие параметры. Если вы хотите изменить существующие параметры, используйте вместо этого тип Advanced ApplicationTierOnlyAdvanced.
Только расширенный уровень приложения Настройте новый уровень приложений с полным контролем над всеми параметрами. Параметры по умолчанию будут использовать существующие значения из предоставленной базы данных конфигурации. Если вы хотите сохранить все существующие параметры, используйте вместо этого тип ApplicationTierOnlyBasic.
Клонировать Настройте новое развертывание Azure DevOps Server, которое является клоном существующего развертывания. Обычно это делается с помощью баз данных, восстановленных из рабочих резервных копий, для создания среды, в которой можно протестировать изменения конфигурации, расширения и другие изменения. Этот сценарий включает дополнительные шаги, чтобы гарантировать, что новое развертывание не будет препятствовать рабочему развертыванию.
Прокси Настраивает прокси-службу управления версиями.

Внимание

Перед запуском конфигурации убедитесь, что у вас есть актуальная резервная копия ваших баз данных, и затем измените значение параметра "ConfirmBackup" на "ConfirmBackup=True". В противном случае конфигурация не будет выполняться.

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

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

  • Хотя мастер настройки может установить экземпляры Build и Proxy, указывающие на базы данных Azure, эта возможность не реализована для командной строки (нет места для предоставления сведений об учетной записи облачного хранилища Azure).
  • Автоматическая установка доступна для Azure DevOps Server Express; однако только типы конфигураций «build» и «basic» (где «SqlInstance=SqlExpress») будут успешными. Автоматическая установка заблокирует типы конфигураций, которые не могут быть установлены на SKU Express, такие как "spinstall", "spextensions" и "proxy", и вызовет ошибки для типов конфигурации "atonly" и "Стандартный", так как Azure DevOps Server Express совместим только с SQL Express.
  • Повторное использование неинтерактивных файлов конфигурации на разных компьютерах в настоящее время не поддерживается, так как файлы конфигурации используют имя компьютера в некоторых значениях параметров по умолчанию. В будущем мы планируем улучшить эту функцию. В то же время пользователи могут создавать собственные скрипты для динамического переключения имен компьютеров в файле конфигурации в соответствии с потребностями.

Загрузка и установка

  1. Скачайте Azure DevOps Server с помощью одного из следующих каналов:

  2. Выполните тихую установку.

     azuredevopsserver2019.1_rc1.exe /Silent
    

    Или автоматически установите экспресс-версию.

     devopsexpress2019_rc1.exe /Silent
    

    Установщик копирует файлы на компьютер.

  3. Проверьте установку, просмотрев папку C:\Program Files\Azure DevOps Server 2019.

    Установленные папки файлов сервера

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

На этом этапе на вашем компьютере установлены программные компоненты, но Azure DevOps Server не настроен. Чтобы выполнить автоматическую настройку, необходимо создать ini-файл, а затем настроить компьютеры с помощью этого ini-файла.

Создание файла ini

Параметр команды /create создает файл конфигурации, который затем можно изменить или запустить для настройки экземпляра сервера.

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

Здесь мы запустите команду /create , указав тип установки и имя создаваемого файла.

C:\Program Files\Azure DevOps Server 2019\Tools>
tfsconfig unattend /create /type:NewServerBasic /unattendfile:basic.ini

По завершении откройте файл .ini в текстовом редакторе. Он выглядит похоже на тот, что указан ниже. Автоматически созданный полностью закомментированный файл basic.ini указывает выполнение следующих задач:

  • Сценарий=NewServerBasic
  • InstallSqlExpress=False
  • SqlInstance=MININT-O0VPFCK\SqlExpress
  • UseExistingEmptyDatabase=False
  • СоздатьКонфигурационнуюБазуДанных=True
  • StartTrial=False
  • МеткаБазыДанных=
  • ServiceAccountName=NT AUTHORITY\NETWORK SERVICE
  • LCID=1033
  • WebSiteVDirName=
  • SiteBindings=http:*:80:
  • PublicUrl=http://minint-o0vpfck/
  • FileCacheFolder=C:\AzureDevOpsData\ApplicationTier_fileCache
  • ВключенаОтправкаПочтыПоSmtp=False
  • EnableSshService=True
  • SshPort=22
  • ConfigureSearch=False
  • InstallSearchService=True
  • CreateInitialCollection=True
  • CollectionName=КоллекцияПоУмолчанию
  • ОписаниеКоллекции=
  • UseExistingEmptyCollectionDatabase=False
[Configuration]
Activity=Microsoft.TeamFoundation.Admin.ServerConfigurationActivity

Assembly=Microsoft.TeamFoundation.Admin, Version=17.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

; You can submit information about your Azure DevOps Server configuration and administration experience to Microsoft.
SendFeedback=True

; One of the following configuration Scenarios:
; 
; NewServerBasic:               Configure a new server with only the essential services.
; NewServerAdvanced:            Configure a new server with essential and other optional features.
; NewServerAzure:               Configure a new server with Azure SQL integration.
; ProductionUpgrade:            Upgrade an existing production server.
; PreProductionUpgrade:         Perform a pre-production upgrade using backed up production databases.
; ApplicationTierOnlyBasic:     Basic application tier-only configuration using existing settings.
; ApplicationTierOnlyAdvanced:  Application tier-only configuration that allows full setting customization.
; Clone:                        Create a new deployment from an existing deployment.
; 
Scenario=NewServerBasic

; Whether SQL Express will be installed as part of configuration
InstallSqlExpress=False

; Provide the configured SQL instance in the form of Server,  ServerName\InstanceName or Server,Port
SqlInstance=MININT-O0VPFCK\SqlExpress

; You can elect to create an existing set of empty databases (Tfs_<label>Configuration, Tfs_<label>Warehouse and Tfs_<label>Analysis)
UseExistingEmptyDatabase=False

; Determines whether a configuration database will get created
CreateConfigurationDatabase=True

; Database label controls the names of the configuration databases.  Database name will be Tfs_<label>Configuration, Tfs_<label>Warehouse and Tfs_<label>Analysis
DatabaseLabel=

StartTrial=False

; Boolean to determine whether the account is a built-in account
IsServiceAccountBuiltIn=True

; Account that the Azure DevOps web site will run as.  On a domain joined machine, this can be a domain account or NT Authority\Network Service.  On a workgroup machine, it can be a local account or NT Authority\Local Service
ServiceAccountName=NT AUTHORITY\NETWORK SERVICE

; The LCID to use for this Azure DevOps Server installation.
LCID=1033

; The host name portion of the web site URL.  This is typically the machine name but can be customized for more advanced scenarios such as HTTPS or NLB
UrlHostNameAlias=MININT-O0VPFCK

; The web site virtual directory name can be either empty or up to 8 alphanumeric characters.
WebSiteVDirName=

; 
; SiteBindings is a semi-colon separated list of bindings, each of which consists
; of 4 or 6 parts (4 for http, 6 for https):
; 
; [http|https]:[ipaddress]:[port]:[host]:[certificateStore]:[certificateThumprint|"generate"]
; 
; Examples:
; http:*:80:
; 
; A single http binding on port 80, for all unassigned IP addresses, with no host header
; 
; https:*:443:contoso.com:My:generate
; 
; A single https binding on port 443, for all unassigned IP addresses, having a host header 'contoso.com',
; including a generated self-signed certificate that will be stored in the Personal store
; on the local machine.
; 
; http:*:80:;http:*:8082:
; 
; Two bindings separated by a semi-colon
; 
; https:*:443:contoso.com:My:‎169CE0BCCECBD854321A61670413F8000A798F31
; 
; A single https binding on port 443 with a certificate thumbprint.
; Azure DevOps will look for the thumbprint in the Personal store for the local
; machine.
; 
SiteBindings=http:*:80:

; The Public URL is the primary URL that users specify to connect to the system and is the URL used in the text of e-mail alerts.
PublicUrl=http://minint-o0vpfck/

; The Windows file system folder used by Azure DevOps Server to cache data.
FileCacheFolder=C:\AzureDevOpsData\ApplicationTier\_fileCache

; Determines if Email notifications will be enabled.
SmtpEmailEnabled=False

; Determines if SSH service will be enabled.
EnableSshService=True

; The port used by the SSH service.
SshPort=22

; Configure Search in Azure DevOps deployment.
ConfigureSearch=False

; You can select to install new search service or use an existing search service
InstallSearchService=True

; Determines whether an initial collection will be created.  This can be disabled for advanced scenarios such as different SQL instances by using the create collection wizard in the administration console after configuring the server.
CreateInitialCollection=True

; The name of the collection
CollectionName=DefaultCollection

; The description for the collection
CollectionDescription=

UseExistingEmptyCollectionDatabase=False

Запуск конфигурации

При запуске автоматической установки процесс выполняет те же проверки, что и мастер конфигурации, а затем настраивает указанный экземпляр Azure DevOps Server на компьютере.

Вы можете выполнить команду /configure одним из двух способов. Первый и рекомендуемый вариант использует файл ini, созданный на предыдущем шаге. Второй параметр задает тип установки для запуска, а затем указывает входные данные для переопределения смарт-значений по умолчанию. Каждый вариант является взаимоисключающим. Невозможно указать как файл, так и тип.

Ниже приведены две основные формы команды /configure :

Вариант 1

tfsconfig unattend /configure /unattendfile:<file> [/inputs:<inputs>] [/verify] [/continue]

Вариант 2

tfsconfig unattend /configure /type:<type> [/inputs:<inputs>] [/verify] [/continue]

Сведения о синтаксисе использования команды tfsconfig unattend см. в разделе "Использование TFSConfig" для управления локальной версией Azure DevOps, режим без присмотра.

Примечание.

Если вы решили запустить команду /configure без первого создания файла конфигурации ini для управления входными данными, рекомендуется запустить /проверить перед продолжением полной конфигурации.

После завершения установки вы можете получить доступ к Серверу Azure DevOps по адресу:

http://<localhostname>:8080/tfs

Или для сервера «Express» на:

http://<localhostname>

Следующие шаги