Team City Jobs 仅更新 Git 中的某个文件夹?
Team City Jobs to update only a certain folder from Git?
我是 TeamCity 的新手,有一个用例,其中存储库中有多个更改,但我只想通过 team city 作业更新我服务器上的某个文件夹。例如,我在项目中的配置文件夹中进行了一些更改,我只想更新该特定文件夹而忽略其余部分。
可以吗?如果是这样,正确的做法是什么?
PS : 我知道应该在环境基础上做更多的配置,但我无权更改现有架构。
所以我找到了一个解决方案,方法是将 tar 从 git 提取到另一个文件夹,从现有文件夹中删除我需要更改的当前文件夹,然后从新文件夹中复制该文件夹提取 tar。
在 teamcity
创建 tar
tar-czf/tmp/application.tar.gz.
删除文件夹
ssh \
-o StrictHostKeyChecking=否\
-o UserKnownHostsFile=/dev/null \
服务器 "rm ~/application/server/config -R -f && rm ~/application/server/modules/sampling/assets/ -R -f && rm -R -f ~/application_new/"
复制tar并取消tar
ssh \
-o StrictHostKeyChecking=否\
-o UserKnownHostsFile=/dev/null \
服务器 "mkdir ~/application_new/ && tar -C ~/application_new/ -xz -f-" < /tmp/application.tar.gz
运行 建造
ssh \
-o StrictHostKeyChecking=否\
-o UserKnownHostsFile=/dev/null \
服务器 "cp -avr ~/application_new/server/config ~/application/server/ && cp -avr ~/application_new/server/modules/sampling/assets/ ~/application/server/modules/sampling/"
在 pm2 中停止进程
ssh \
-o StrictHostKeyChecking=否\
-o UserKnownHostsFile=/dev/null \
服务器 "pm2 delete application"
设置NODE_ENV和Start Nodejs
ssh \
-o StrictHostKeyChecking=否\
-o UserKnownHostsFile=/dev/null \
服务器 "cd application && export NODE_ENV=dev && export NODE_OPTIONS=--max_old_space_size=8192 && pm2 start process.json"
我是 TeamCity 的新手,有一个用例,其中存储库中有多个更改,但我只想通过 team city 作业更新我服务器上的某个文件夹。例如,我在项目中的配置文件夹中进行了一些更改,我只想更新该特定文件夹而忽略其余部分。
可以吗?如果是这样,正确的做法是什么?
PS : 我知道应该在环境基础上做更多的配置,但我无权更改现有架构。
所以我找到了一个解决方案,方法是将 tar 从 git 提取到另一个文件夹,从现有文件夹中删除我需要更改的当前文件夹,然后从新文件夹中复制该文件夹提取 tar。
在 teamcity
创建 tartar-czf/tmp/application.tar.gz.
删除文件夹
ssh \ -o StrictHostKeyChecking=否\ -o UserKnownHostsFile=/dev/null \ 服务器 "rm ~/application/server/config -R -f && rm ~/application/server/modules/sampling/assets/ -R -f && rm -R -f ~/application_new/"
复制tar并取消tar
ssh \ -o StrictHostKeyChecking=否\ -o UserKnownHostsFile=/dev/null \ 服务器 "mkdir ~/application_new/ && tar -C ~/application_new/ -xz -f-" < /tmp/application.tar.gz
运行 建造
ssh \ -o StrictHostKeyChecking=否\ -o UserKnownHostsFile=/dev/null \ 服务器 "cp -avr ~/application_new/server/config ~/application/server/ && cp -avr ~/application_new/server/modules/sampling/assets/ ~/application/server/modules/sampling/"
在 pm2 中停止进程
ssh \ -o StrictHostKeyChecking=否\ -o UserKnownHostsFile=/dev/null \ 服务器 "pm2 delete application"
设置NODE_ENV和Start Nodejs
ssh \ -o StrictHostKeyChecking=否\ -o UserKnownHostsFile=/dev/null \ 服务器 "cd application && export NODE_ENV=dev && export NODE_OPTIONS=--max_old_space_size=8192 && pm2 start process.json"