同期の開始

ファイルベース Git リポジトリを使用する場合は、開発用 Management Console と本番用 Management Console の Synchronizer インスタンスから、リポジトリが配置されているファイル システムに直接アクセスできる必要があります。

リポジトリが保存されているのと同じコンピュータで Synchronizer の両方のインスタンスを実行することをお勧めします (1)。この設定の場合、プロモーション マネージャーはサポートされている Git プロトコル標準 (2) の 1 つを使用してリポジトリにアクセスし、変更を本番環境にプッシュできます。

推奨 1: ファイルベースのベア リポジトリと同期する場合は、複数の Synchronizer を同じコンピュータで実行できます。

推奨 2: 必要に応じて、管理者は Git コマンドの代わりに、SourceTree などのサードパーティの Git クライアントを使用できます。

推奨 3: Docker を開発に使用する場合は、Synchronizer コンテナでボリュームを共有できます。

同期を開始する

Management Console への Synchronizer アクセスを構成します

2 つの Management Console と Git リポジトリを接続するには、次の手順を実行します。

  1. synchronizer.settings ファイルで、開発 Synchronizer を開発 Management Console にポイントし、次の表のコマンドを使用して設定を構成します。
    1. コマンド プロンプト ウィンドウで、synchronizer.exe ファイルに対して -c プロパティを指定して、デフォルトの synchronizer.settings ファイルを無視します。

    2. 必要なその他の設定を指定します。

    例:

    Synchronizer.exe -c --mc-url http://127.0.0.1:8080/ManagementConsole --oauth-client-secret <insert-secret-string> --interval 10 --no-host-key false --private-key $USER_HOME \.ssh\id_rsa -s

    コマンド 説明
    -c,--command-line

    command-line で指定した設定を使用し、設定ファイルは無視します。

    -e,--environment

    環境設定を使用し、設定ファイルを無視します。

    -g,--generate-ssh-keys <argument>

    SSH 認証用のキー ペアを生成し、指定されたフォルダに保存します。例:-g C:\Work\MyKeys

    --mc_url <argument>

    必須です。-c が指定されている場合にのみ使用します。プロトコルとポート番号を含む開発用または本番用 Management Console に接続するための URL を指定します。

    --oauth-client-secret <argument>

    必須です。-c が指定されている場合にのみ使用します。Management Console の OAuth サーバー セクションから Management Console を使用した認証シンクロナイザーにコピーされたプレーン テキストの OAuth クライアント シークレットを含みます。

    --oauth-client-secret-file <argument>

    必須です。Management Console の OAuth サーバー セクションから Management Console を使用した認証シンクロナイザーにコピーされた OAuth クライアント シークレットを含むファイルへのパス。

    --interval <argument>

    必須です。-c が指定されている場合にのみ使用します。同期の実行間隔を秒単位で設定します。0 以下の値または数値以外の値に設定した場合、Synchronizer は 1 回実行されて終了します。

    --no-host-key <argument>

    オプションです。-c が指定されている場合にのみ使用します。厳密な SSH ホスト キー チェックを無効にします。デフォルトは false です。

    --private-key <argument> 必須です。-c が指定されている場合にのみ使用します。リモート リポジトリに接続するためのプライベート SSH キーを含むファイルへのパスを提供します。ローカル リポジトリに接続する場合、この属性は無視されますが、値を指定する必要があります。
    -r,--reset-hard

    バージョン情報をリセットし、ローカル キャッシュ全体をパージします。

    -s,--save

    synchronizer.settings ファイルに設定を保存して終了します。

    -v,--version

    バージョン情報を出力して終了します。

    -h,--help

    プロパティの説明を出力して終了します。

  2. 本番用 Synchronizer および本番用 Management Console に前のステップを繰り返し、必要に応じてプロパティを変更します。
  3. 設定を保存します。

    Management Consoles と Git リポジトリが同期されました。オブジェクトを本番環境に昇格させ、Management Console プロジェクトと GIT リポジトリ間の同期を設定できるようになりました。

Management Console プロジェクトと github リポジトリ間の同期を設定する

Management Console プロジェクトと github リポジトリ間の同期を設定するには、次の手順に従います。

  1. github リポジトリ Web サイトを開き、新しいアカウントを作成します。

  2. コマンド プロンプト ウィンドウで、-g パラメータを指定して Synchronizer.exe ファイルを実行します。

    Synchronizer.exe -c --mc-url http://127.0.0.1:8080/ManagementConsole --oauth-client-secret <insert-secret-string> -g $USER_HOME\.ssh\

    これにより、公開鍵と秘密鍵の RSA ペアが生成されます。

  3. github アカウントにログインします。[設定] メニューで [SSH および GPG キー] セクションを探し、生成されたキーペアの公開キーを入力して、新しい SSH キーを作成します。

  4. github Web サイトで新しいプライベート リポジトリを作成し、リポジトリの SSH アドレス (git@githubrepository.com/username/repository_name.git など) をコピーします。

  5. [Management Console] > [管理] > [プロジェクト] に移動して、プロジェクトを選択します。

    [編集] をクリックし、プロジェクトの編集 ウィンドウで [リポジトリ] を選択します。

    1. [設定を有効化] をクリックして、リポジトリを設定するためのフィールドをアクティブ化します。

    2. [URL] フィールドに、コピーした SSH アドレスを入力します。

    3. [ブランチ] フィールドに、使用するブランチの名前を入力します。

    4. [読み取り専用] が選択されている場合、プロジェクト ファイルは消去され、github リポジトリ ファイルに置き換えられます。

      [読み取り専用] が選択されていない場合、github リポジトリ ファイルは消去され、プロジェクト ファイルに置き換えられます。

      読み取り専用モードでは、Management Console に含まれるすべてのオブジェクトがリポジトリから取得されます。同期を開始する前に、同期するオブジェクトが Management Console で空であることを確認してください。空でない場合、エラー メッセージが表示されます。

      オブジェクトの内容を削除するには、同期するオブジェクト リストから必要なオブジェクトを選択し、[選択したオブジェクトを削除] をクリックします。重要なデータを失わないように、オブジェクトを削除するときは注意してください。

    5. [同期するオブジェクト] については、同期に含めるオブジェクトを選択します。

    6. [OK] をクリックして変更を保存します。

  6. コマンド プロンプト ウィンドウで、--private-key パラメータを指定して Synchronizer.exe ファイルを実行します。

    Synchronizer.exe -c --mc-url http://127.0.0.1:8080/ManagementConsole --oauth-client-secret <insert-secret-string> --interval 10 --no-host-key true --private-key $USER_HOME\.ssh\id_rsa

これで、github リポジトリが Management Console プロジェクトと同期されました。