Team City Jobs для обновления только определенной папки из Git? - PullRequest
0 голосов
/ 05 мая 2020

Я новичок в TeamCity и у меня есть вариант использования, когда в репозитории есть несколько изменений, но я хочу обновить только определенную папку на моем сервере с помощью задания командного города. Например, у меня есть некоторые изменения в папке config внутри проекта, и я хотел бы обновить только эту конкретную папку, игнорируя все остальное.

Возможно ли это? Если да, то как можно было бы go об этом?

PS: Я знаю, что конфигурацию нужно было делать больше на основе среды, но у меня нет полномочий изменять существующую архитектуру.

1 Ответ

0 голосов
/ 05 мая 2020

Итак, я нашел решение для этого, распаковав tar из git в другую папку, удалив текущую папку, которую мне нужно было изменить, из существующей папки и скопировав папку из только что извлеченного tar.

Создать tar в teamcity

tar -czf /tmp/application.tar.gz.

удалить папку

s sh \ -o StrictHostKeyChecking = no \ -o UserKnownHostsFile = / dev / null \ server "rm ~ / application / server / config -R -f && rm ~ / application / server / modules / sampling / assets / -R -f && rm -R -f ~ / application_new / "

Скопировать tar и распаковать

s sh \ -o StrictHostKeyChecking = no \ -o UserKnownHostsFile = / dev / null \ server" mkdir ~ / application_new / && tar - C ~ / application_new / -xz -f- "

запустить сборку

s sh \ -o StrictHostKeyChecking = no \ -o UserKnownHostsFile = / dev / null \ server "cp -avr ~ / application_new / server / config ~ / application / server / && cp -avr ~ / application_new / server / modules / sampling / assets / ~ / application / server / modules / sampling / "

остановить процесс в pm2

s sh \ -o StrictHostKeyChecking = no \ -o UserKnownHostsFile = / dev / null \ server" pm2 delete application "

Установить NODE_E NV и Start Nodejs

s sh \ -o StrictHostKeyChecking = no \ -o UserKnownHostsFile = / dev / null \ server "приложение cd && export NODE_ENV = dev && export NODE_OPTIONS = - max_old_space_size = 8192 && pm2 запустить процесс. json "

...