1.При каждом выполнении конвейера сборки создается новая базовая папка, в которую загружается весь код, создаются артефакты?
2. Каждое выполнение конвейера выпуска создает новую базовую папку, в которой все артефакты загружаются?
3. В приведенном ниже примере конвейера сборки, что такое 1 в пути ниже? Это номер сборки или номер агента?
4. В приведенном ниже примере конвейера выпуска, что такое r1 в пути ниже? Это номер выпуска или номер агента?
Для #1
и #2
: какую базовую папку вы имеете в виду, папку c:\agent_work
или папку c:\agent_work\number
?
В нормальных ситуациях: каждый раз, когда мы используем agentA
для запуска конвейера сборки, он создает новую подпапку (c:\agent_work\{number}
) в рабочей папке (c:\agent_work\
). И число там не имеет ничего общего с номером сборки.
Например:
Когда я впервые использую этот agentA
для запуска сборки, я ' получу c:\agent_work\1
. Второй раз я использую этот агент => c:\agent_work\2
. В третий раз я использую этот агент A для запуска другого build pipe => c:\agent_work\3
. Таким образом, число имеет отношение только к тому, сколько раз мы используем этот агент для запуска конвейеров.
Выполнить сборку конвейера => c:\agent_work\{number}+1
, запустить выпуск конвейера => c:\agent_work\r{number}+1
. Число начинается с 1 для сборки и r1 для выпуска.
Числа - это просто числа, они не имеют важных значений. В папке agent_work вы можете найти папки SourceRootMapping
(для сборки) и ReleaseRootMapping
(для выпуска). Обычно в папке SourceRootMapping
вы можете найти файл Mappings.json
с таким содержимым:
{
"lastBuildFolderCreatedOn": "xxxxxxxxxx",
"lastBuildFolderNumber": 8
}
lastBuildFolderNumber
равен {Number} выше, поэтому мы можем знать, что если мы запустим конвейер сборки с использованием этого Агент снова, следующая созданная папка будет c:\agent_work\9 (8+1)
. В папке ReleaseRootMapping
такого файла нет, но он работает аналогично этому.
И причина, по которой я говорю In normal situations: Every time xxx
, заключается в том, что если мы вручную удалим часть папок с номерами или SourceRootMapping
/ ReleaseRootMapping
папок, тогда это правило изменится. Иногда {последний номер} +1, а иногда переопределяет папку с последними номерами, а не новую базовую папку.
Для #3
и #4
теперь вы знаете, что номер не является номером сборки или номером агента. Это просто число, указывающее, сколько раз мы используем агент для запуска конвейеров. (В нормальной ситуации). И если в вашей рабочей папке агента слишком много папок, просто удалите всю папку agent_work. В следующий раз, когда мы будем использовать агент, он заново создаст папку agent_work и снова начнет с 1. (agent_work \ 1 или agent_work \ r1).
Надеюсь, это поможет:)