次の方法で共有


無人インストールを実行する

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

無人インストールを使用すると、Azure DevOps Server インスタンスのすべての構成パラメーターを事前に事前に設定できます。 tfsconfig 無人 コマンドは、Azure DevOps Server の構成プロセスを理解していて、Azure DevOps を複数のマシン環境にデプロイする場合に特に便利です。

たとえば、多くの大規模なエンタープライズ システムには、ビルド用に指定された複数のサーバーがあります。 無人インストールを使用すると、管理者は、各マシンを個別に監視することなく、これらのマシンで Team Build のインストール プロセスをすばやく開始できます。 さらに、各ビルド サーバーの構成はほぼ同じか完全に同じになる可能性があるため、各マシンの構成パラメーターをすばやく簡単に設定できます。

重要

この記事では、 tfsconfig unattend コマンドを使用して Azure DevOps Server 2019 に無人インストールを実行する方法について説明します。 以前のバージョンの Team Foundation Server の手順は似ていますが、 tfsconfig 無人セットアップ コマンドの構文は変更されています。 詳細については、 TFSConfig、Unattend から目的の記事のバージョンを選択します。

unattend コマンドを使用して、次の種類のインストールを実行します。

  • 新しい単一サーバーまたはマルチサーバーインストール
  • アップグレード
  • 運用前のアップグレード
  • 新しいアプリケーション層を構成する
  • 既存のデプロイを複製する
  • バージョン 管理プロキシ サーバーを構成する

tfsconfig unattend コマンドの構文の使用方法については、「 TFSConfig を使用してオンプレミスの Azure DevOps を無人で管理する」を参照してください。

前提条件

  1. システム要件を満たす 1 台のコンピューターを準備します

  2. SQL Server Express を使用する予定がない場合は、 サポートされているバージョンの SQL Server を設定します。 オンプレミスで Azure DevOps 用に SQL Server を設定する場合は、少なくとも検索機能のデータベース エンジンとフルテキスト抽出とセマンティック抽出をインストールします。

    SQL Server Express は、個人用または評価版の展開にのみ使用することをお勧めします。 オンプレミスの Azure DevOps の有料コピーには、SQL Server Standard ライセンスが含まれます。 詳細については、「 Azure DevOps Server の価格を参照してください。 付属のライセンスを使用する場合は、それらの製品で作成されたデータベースにのみ使用できます。

  3. インストールの構成に使用するアカウントは、SQL Server の sysadmin サーバー ロールのメンバーである必要があります

    注意

    Azure DevOps をオンプレミスにインストールするには、高度な特権を必要とする一連の操作が必要です。 これらの操作には、データベースの作成、サービス アカウントのログインのプロビジョニングなどがあります。 技術的には、必要なのは次のとおりです。

    • サーバー管理者ロールのメンバーシップ。
    • ALTER ANY LOGIN、CREATE ANY DATABASE、VIEW ANY DEFINITION サーバースコープ権限。
    • メイン データベースに対する CONTROL 権限。
      sysadmin サーバー ロールのメンバーシップは、これらすべてのメンバーシップとアクセス許可を付与します。 構成が成功することを確認する最も簡単な方法です。 必要に応じて、インストール後にこれらのメンバーシップとアクセス許可を取り消すことができます。
  4. Search 拡張機能のインストールと構成をサポートするには、ユーザー名とパスワードを指定する必要があります。 Search のインストールと構成では、コード、作業項目、Wiki の検索機能がサポートされます。 詳細については、「 構成検索」を参照してください。

    注意

    検索には、Oracle Server JRE 8 (Update 60 以降) も必要です。 Oracle Binary Code License Agreement for Server JRE に同意し、 Configure を選択することで、最新バージョンをダウンロードしてインストールまたは更新できます。 これにより、java インストール ディレクトリを指すJAVA_HOME環境変数が設定され、Server JRE では自動更新が提供されないことに注意してください。

  5. アプリケーション層を構成する場合は、Web サイトの設定を選択できます。 Web サイトの設定を確認して、選択肢と要件を理解します。

サポートされるインストール

無人インストール機能は、構成ウィザードがサポートするのと同じインストールの種類をすべてサポートし、同じ構成パラメーターのセットのフィールドを含みます。 ほとんどの場合、無人インストールの各構成の種類の名前は、ウィザードの名前と同じになります。

無人構成の種類の名前と説明の一覧を次に示します。

インストールタイプ 説明
NewServerBasic Azure DevOps Server に不可欠な開発サービスを構成します。 これには、Azure Boards (作業追跡) Azure Repos (ソース管理)、Azure Pipelines (ビルドとリリース)、および必要に応じて検索が含まれます。
ニューサーバーアドバンスト 重要な開発サービスを構成し、Reporting Services との統合をオプションで構成できるようにします。
アップグレード サポートされている以前のリリースから Azure DevOps Server を現在のバージョンにアップグレードします。
プレプロダクションアップグレード 実稼働前環境の既存の Azure DevOps Server デプロイでアップグレードをテストします。 これは通常、運用バックアップから復元されたデータベースを使用して行われます。 このシナリオには、新しいデプロイが運用環境のデプロイに干渉しないようにするための追加の手順が含まれています。
アプリケーション層のみベーシック 指定された構成データベースの既存の設定を使用して、新しいアプリケーション層を構成します。 このオプションを使用すると、既存の設定を使用して、新しいアプリケーション層をすばやく稼働できます。 既存の設定を変更する機能が必要な場合は、代わりに Advanced ApplicationTierOnlyAdvanced 型を使用します。
ApplicationTierOnlyAdvanced すべての設定を完全に制御して、新しいアプリケーション層を構成します。 設定は、指定された構成データベースの既存の値に既定で設定されます。 既存のすべての設定を保持する場合は、代わりに ApplicationTierOnlyBasic 型を使用します。
クローン 既存のデプロイの複製である新しい Azure DevOps Server デプロイを構成します。 これは通常、運用バックアップから復元されたデータベースを使用して、構成の変更、拡張機能、およびその他の変更をテストできる環境を作成するために行われます。 このシナリオには、新しいデプロイが運用環境のデプロイに干渉しないようにするための追加の手順が含まれています。
プロキシ バージョン コントロール プロキシ サービスを構成します。

重要

構成を実行する前に、データベースの現在のバックアップがあることを確認し、'ConfirmBackup' をオーバーライドして 'ConfirmBackup=True' にする必要があります。 それ以外の場合、構成は実行されません。

サポートされていないシナリオ

無人インストールは、オンプレミスのシナリオでのみ使用することを目的としています。 無人インストールでは、次のシナリオはサポートされていません。

  • 構成ウィザードでは、Azure データベースを指すビルド インスタンスとプロキシ インスタンスをインストールできますが、この機能はコマンド ライン用に実装されていません (Azure Cloud Storage アカウント情報を指定する場所はありません)。
  • Azure DevOps Server Express では無人インストールを使用できます。ただし、'build' と 'basic' (ここで 'SqlInstance=SqlExpress') の構成型のみが成功します。 自動インストールでは、Express SKU にインストールできない構成の種類 ("spinstall"、"spextensions"、"プロキシ" など) がブロックされ、Azure DevOps Server Express は SQL Express とのみ互換性があるため、"atonly" と "Standard" の構成の種類に対してエラーが発生します。
  • 構成ファイルは特定の既定のパラメーター値でマシン名を使用するため、マシン間での無人構成ファイルの再利用は現在サポートされていません。 今後、この機能を改善する予定です。 それまでの間、ユーザーは独自のスクリプトを記述して、自分のニーズに合わせて構成ファイル内のマシン名を動的に切り替えることができます。

ダウンロードとインストール

  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 ファイルは、次のタスクを実行するように指定します。

  • Scenario=NewServerBasic
  • InstallSqlExpress=False
  • SqlInstance=MININT-O0VPFCK\SqlExpress
  • 既存の空のデータベースを使用=False
  • CreateConfigurationDatabase=True
  • StartTrial=False
  • データベースラベル=
  • ServiceAccountName=NT AUTHORITY\NETWORK SERVICE
  • LCID=1033
  • WebSiteVDirName=
  • SiteBindings=http:*:80:
  • PublicUrl=http://minint-o0vpfck/
  • FileCacheFolder=C:\AzureDevOpsData\ApplicationTier_fileCache
  • SmtpEmailEnabled=False
  • EnableSshService=True
  • SshPort=22
  • 検索構成=false
  • InstallSearchService=True
  • 初期コレクションを作成=True
  • CollectionName=DefaultCollection
  • コレクションの説明=
  • 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 コマンドは、2 つの方法のいずれかで実行できます。 最初の推奨オプションでは、前の手順で作成した ini ファイルを使用します。 2 番目のオプションは、実行するインストールの種類を指定し、入力を指定してスマートな既定値をオーバーライドします。 各オプションは相互に排他的です。 ファイルと型の両方を指定することはできません。

/configure コマンドの 2 つの基本的な形式は次のとおりです。

方法 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 を無人で管理する」を参照してください。

注意

入力を管理する ini 構成ファイルを最初に作成せずに /configure コマンドを実行する場合は、完全な構成に進む前に /verify を実行することをお勧めします。

インストールが完了したら、次の手順で Azure DevOps Server にアクセスできます。

http://<localhostname>:8080/tfs

または、次の高速サーバーの場合:

http://<localhostname>

次のステップ