jenkins-lib icon indicating copy to clipboard operation
jenkins-lib copied to clipboard

Добавить проверку перед созданием архива 1Cv8.1CD.zip

Open rusdaurov opened this issue 3 years ago • 13 comments

Если не очищать каталог до/после сборки падает на при создании архива 1Cv8.1CD.zip IMG_20220603_184418

rusdaurov avatar Jun 03 '22 15:06 rusdaurov

Можешь попробовать в vars/zipInfoBase.groovy добавить следующий код перед операцией zip?

    if (fileExits('1Cv8.1CD.zip')) {
        fileOperations([fileDeleteOperation(includes: '1Cv8.1CD.zip')])
    }

nixel2007 avatar Jun 03 '22 16:06 nixel2007

Для этого правда придется подключить file operations plugin, но можно вот из этой фича-ветки подобрать https://github.com/ivanmolodec/jenkins-lib/tree/feature-edt-validate-settings

ivanmolodec avatar Jun 03 '22 16:06 ivanmolodec

Для этого правда придется подключить file operations plugin, но можно вот из этой фича-ветки подобрать https://github.com/ivanmolodec/jenkins-lib/tree/feature-edt-validate-settings

Он не нужен в градле в явном виде. Главное чтобы на сервере стоял.

nixel2007 avatar Jun 03 '22 16:06 nixel2007

image пока так

rusdaurov avatar Jun 06 '22 06:06 rusdaurov

Вот я слепошара. fileExists конечно же.

nixel2007 avatar Jun 06 '22 06:06 nixel2007

Работает, но тут другая беда, image и я думаю что лучше, прописать по всем файлам или clean before checkout?

rusdaurov avatar Jun 06 '22 07:06 rusdaurov

Работает, но тут другая беда, image и я думаю что лучше, прописать по всем файлам или clean before checkout?

У меня стоит clean before checkout, но если дженкинс на винде, то в некоторых случаях он из-за этого падает с ошибкой т.к. файлы ещё заняты ОС

ivanmolodec avatar Jun 06 '22 07:06 ivanmolodec

Работает, но тут другая беда, image и я думаю что лучше, прописать по всем файлам или clean before checkout?

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

nixel2007 avatar Jun 06 '22 08:06 nixel2007

Работает, но тут другая беда, image и я думаю что лучше, прописать по всем файлам или clean before checkout?

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

Вижу в некоторых шагах есть https://github.com/rusdaurov/jenkins-lib/blob/9fc54dc240b0b5178cc75adfdc76dbdc9e8febe1/src/ru/pulsar/jenkins/library/steps/DesignerToEdtFormatTransformation.groovy#L37

добавить нужно будет в 'pre-stage'?
dir(path) deleteDir() только я не пойму зависим ли мы от текущего каталога дальше и стоит ли его вернуть?

rusdaurov avatar Jun 06 '22 08:06 rusdaurov

и в разных шагах будем удалять почти одно и то же же

rusdaurov avatar Jun 06 '22 08:06 rusdaurov

только я не пойму зависим ли мы от текущего каталога дальше и стоит ли его вернуть?

При каждом выделении агента есть вероятность попасть на протухшие данные в build. Библиотека построена на принципе передачи нужных данных между стейджами через stash, так что думаю, что на каждом выделении агента нужно смотреть, что нужно дропать. Либо дропать целиком build, но тогда это надо задокументировать.

nixel2007 avatar Jun 06 '22 09:06 nixel2007

ух.. казалось бы

rusdaurov avatar Jun 06 '22 11:06 rusdaurov

пока так https://github.com/rusdaurov/jenkins-lib/commit/80996725974229894fbafce1846f7c32857d397d проверил на шагах которые могу прогнать все зеленное (хотя едт ругается зеленым цветом), остальное затирается при выполнении команды, возник вопрос по поводу https://github.com/firstBitMarksistskaya/jenkins-lib/blob/911be3c7ba4ce3c9c8704dd3dfa6887c21e8552d/vars/pipeline1C.groovy#L82, и наверно стоит при первом выполнении чего либо на агентах удалять build

rusdaurov avatar Jun 06 '22 19:06 rusdaurov