Открыть меню
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Стратегии обнаружения версий: различия между версиями

Материал из Документация АппОптима
(Новая страница: «.»)
 
Нет описания правки
 
(не показаны 3 промежуточные версии 1 участника)
Строка 1: Строка 1:
.
'''''[[Применение АппОптима]] / [[Облачная автоматизация]] / [[Мониторинг релизов]] / Стратегии обнаружения версий'''''
 
АппОптима использует встроенные стратегии определения версий для поддержки различных технологических стандартов для управления версиями. На последнюю обнаруженную версию могут влиять переменные среды, метки Kubernetes и прием событий.
 
== Переменные среды ==
Лучший и самый простой способ получить информацию о версии, доступную для каждой распределенной трассировки, — предоставить метаданные через переменные среды.
 
* <code>DT_RELEASE_VERSION</code>для версии
* <code>DT_RELEASE_STAGE</code>для сцены
* <code>DT_RELEASE_PRODUCT</code>для продукта
* <code>DT_RELEASE_BUILD_VERSION</code>для версии сборки
 
=== Примеры ===
 
* В Linux для любого запущенного процесса
*# Выполните следующую команду, заменив ее <code><version></code>фактическим значением выпуска.
 
<code>export DT_RELEASE_VERSION=<version></code>
 
Пример команды:
 
<code>export DT_RELEASE_VERSION=0.4.</code>
 
2. Запустите процесс.
 
Через несколько секунд версия этого процесса появится в АппОптима.
 
* В Windows для любого запущенного процесса
*# Выполните следующие команды, заменив <code><version></code>, <code><build-version></code>, <code><release-product-name></code>и <code><release-stage></code>своими фактическими значениями.
<code>set DT_RELEASE_VERSION=<version></code>
 
<code>set DT_RELEASE_BUILD_VERSION=<build-version></code>
 
<code>set DT_RELEASE_PRODUCT=<release-product-name></code>
 
<code>set DT_RELEASE_STAGE=<release-stage></code>
 
Пример команды:
<set DT_RELEASE_VERSION=0.4.1
set DT_RELEASE_BUILD_VERSION=2021-03-24
set DT_RELEASE_PRODUCT=WoGo Main
set DT_RELEASE_STAGE=production</code>
 
 
2. Запустите процесс.
 
Через несколько секунд версия этого процесса появится в АппОптима.
 
== Ярлыки Kubernetes ==
Лучшая практика
 
Мы рекомендуем распространить метки Kubernetes на переменные среды в конфигурации развертывания.
 
Пример:
 
Вы можете использовать
 
* Метки модулей Kubernetes для предоставления метаданных для:
** Стадия релиза (метка: <code>АппОптима-release-stage</code>)
* Рекомендуемые Kubernetes метки для развернутых модулей для предоставления метаданных для:
** Связанные версии (метка: <code>app.kubernetes.io/version</code>)
** Сопутствующий товар (ярлык: <code>app.kubernetes.io/part-of</code>)по желанию
 
Примечание. Обязательно используйте только метки pod, а не метки рабочей нагрузки Kubernetes.
 
Рекомендуемые Kubernetes метки, сопоставленные с метаданными выпуска:
 
АппОптима ЕдиныйАгент с правами просмотра пространства имен может автоматически обнаруживать метки, прикрепленные к модулям Kubernetes.
 
* Версия и продукт отображаются в инвентаре выпуска.
* Пространства имен Kubernetes или настроенные имена групп хостов АппОптима отображаются как этапы в инвентаре выпуска.
 
Если вы не хотите менять конфигурацию развертывания, вы можете обновить метки Kubernetes. АппОптима обновит захваченные версии через несколько секунд.
<code>kubectl label --overwrite pod yourPodId -n yourNamespace app.kubernetes.io/version=42</code>
 
== Прием событий ==
Если неудобно добавлять переменные среды для процессов в вашей среде или если вы хотите обновить информацию о версии без изменения переменных среды для вашего развернутого программного обеспечения, вы можете отправлять настраиваемые события развертывания в API-интерфейсы АппОптима, которые явно предоставляют информацию о версии.
 
Пример JSON ниже показывает, как отправлять настраиваемые события развертывания в API. Для приема событий используйте Events API v2 . Обратите внимание, что процессы сопоставляются через теги.
 
Чтобы релиз был обнаружен, должны быть выполнены следующие требования:
 
* <code>eventType</code>установлен на<code>CUSTOM_DEPLOYMENT</code>
* <code>entitySelector</code>является обязательным и должен указывать на экземпляр группы процессов или список экземпляров группы процессов.
* <code>dt.event.deployment.version</code>является обязательным
 
Пример:
<{
  "eventType": "CUSTOM_DEPLOYMENT",
  "title": "Easytravel 1.1",
  "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag(easytravel)",
  "properties": {
    "dt.event.deployment.name":"Easytravel 1.1",
    "dt.event.deployment.version": "1.1",
    "dt.event.deployment.release_stage": "production" ,
    "dt.event.deployment.release_product": "frontend",
    "dt.event.deployment.release_build_version": "123",
    "approver": "Jason Miller",
    "dt.event.deployment.ci_back_link": "<nowiki>https://pipelines/easytravel/123</nowiki>",
    "gitcommit": "e5a6baac7eb",
    "change-request": "CR-42",
    "dt.event.deployment.remediation_action_link": "<nowiki>https://url.com</nowiki>",
    "dt.event.is_rootcause_relevant": true
  }
}</code>

Текущая версия от 07:57, 23 декабря 2024

Применение АппОптима / Облачная автоматизация / Мониторинг релизов / Стратегии обнаружения версий

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

Переменные среды

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

  • DT_RELEASE_VERSIONдля версии
  • DT_RELEASE_STAGEдля сцены
  • DT_RELEASE_PRODUCTдля продукта
  • DT_RELEASE_BUILD_VERSIONдля версии сборки

Примеры

  • В Linux для любого запущенного процесса
    1. Выполните следующую команду, заменив ее <version>фактическим значением выпуска.

export DT_RELEASE_VERSION=<version>

Пример команды:

export DT_RELEASE_VERSION=0.4.

2. Запустите процесс.

Через несколько секунд версия этого процесса появится в АппОптима.

  • В Windows для любого запущенного процесса
    1. Выполните следующие команды, заменив <version>, <build-version>, <release-product-name>и <release-stage>своими фактическими значениями.

set DT_RELEASE_VERSION=<version>

set DT_RELEASE_BUILD_VERSION=<build-version>

set DT_RELEASE_PRODUCT=<release-product-name>

set DT_RELEASE_STAGE=<release-stage>

Пример команды:

<set DT_RELEASE_VERSION=0.4.1
set DT_RELEASE_BUILD_VERSION=2021-03-24
set DT_RELEASE_PRODUCT=WoGo Main
set DT_RELEASE_STAGE=production


2. Запустите процесс.

Через несколько секунд версия этого процесса появится в АппОптима.

Ярлыки Kubernetes

Лучшая практика

Мы рекомендуем распространить метки Kubernetes на переменные среды в конфигурации развертывания.

Пример:

Вы можете использовать

  • Метки модулей Kubernetes для предоставления метаданных для:
    • Стадия релиза (метка: АппОптима-release-stage)
  • Рекомендуемые Kubernetes метки для развернутых модулей для предоставления метаданных для:
    • Связанные версии (метка: app.kubernetes.io/version)
    • Сопутствующий товар (ярлык: app.kubernetes.io/part-of)по желанию

Примечание. Обязательно используйте только метки pod, а не метки рабочей нагрузки Kubernetes.

Рекомендуемые Kubernetes метки, сопоставленные с метаданными выпуска:

АппОптима ЕдиныйАгент с правами просмотра пространства имен может автоматически обнаруживать метки, прикрепленные к модулям Kubernetes.

  • Версия и продукт отображаются в инвентаре выпуска.
  • Пространства имен Kubernetes или настроенные имена групп хостов АппОптима отображаются как этапы в инвентаре выпуска.

Если вы не хотите менять конфигурацию развертывания, вы можете обновить метки Kubernetes. АппОптима обновит захваченные версии через несколько секунд.

kubectl label --overwrite pod yourPodId -n yourNamespace app.kubernetes.io/version=42

Прием событий

Если неудобно добавлять переменные среды для процессов в вашей среде или если вы хотите обновить информацию о версии без изменения переменных среды для вашего развернутого программного обеспечения, вы можете отправлять настраиваемые события развертывания в API-интерфейсы АппОптима, которые явно предоставляют информацию о версии.

Пример JSON ниже показывает, как отправлять настраиваемые события развертывания в API. Для приема событий используйте Events API v2 . Обратите внимание, что процессы сопоставляются через теги.

Чтобы релиз был обнаружен, должны быть выполнены следующие требования:

  • eventTypeустановлен наCUSTOM_DEPLOYMENT
  • entitySelectorявляется обязательным и должен указывать на экземпляр группы процессов или список экземпляров группы процессов.
  • dt.event.deployment.versionявляется обязательным

Пример:

<{
  "eventType": "CUSTOM_DEPLOYMENT",
  "title": "Easytravel 1.1",
  "entitySelector": "type(PROCESS_GROUP_INSTANCE),tag(easytravel)",
  "properties": {
    "dt.event.deployment.name":"Easytravel 1.1",
    "dt.event.deployment.version": "1.1",
    "dt.event.deployment.release_stage": "production" ,
    "dt.event.deployment.release_product": "frontend",
    "dt.event.deployment.release_build_version": "123",
    "approver": "Jason Miller",
    "dt.event.deployment.ci_back_link": "https://pipelines/easytravel/123",
    "gitcommit": "e5a6baac7eb",
    "change-request": "CR-42",
    "dt.event.deployment.remediation_action_link": "https://url.com",
    "dt.event.is_rootcause_relevant": true
  }
}