Team City Jobs仅从Git更新某个文件夹?

问题描述 投票:0回答:1

我是TeamCity的新手,有一个用例,其中存储库中有多个更改,但我只想通过Team City作业更新服务器上的某个文件夹。例如,我在项目内部的config文件夹中进行了一些更改,而我只想更新该特定文件夹,而忽略其余的文件夹。

可以这样做吗?如果是这样,正确的方法是什么?

PS:我知道应该在环境上完成更多配置,但我无权更改现有体系结构。

continuous-integration teamcity
1个回答
0
投票

因此,我找到了一个解决方案,将git中的tar解压缩到另一个文件夹,从现有文件夹中删除需要更改的当前文件夹,然后从新解压缩的tar中复制该文件夹。

在团队合作中创建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和untar

ssh \-o StrictHostKeyChecking =否\-o UserKnownHostsFile = / dev / null \服务器“ mkdir〜/ application_new / && tar -C〜/ application_new / -xz -f-”

运行版本

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删除应用程序”

设置NODE_ENV并启动Nodejs

ssh \-o StrictHostKeyChecking =否\-o UserKnownHostsFile = / dev / null \服务器“ cd应用程序&&导出NODE_ENV = dev &&导出NODE_OPTIONS =-max_old_space_size = 8192 && pm2 start process.json“

© www.soinside.com 2019 - 2024. All rights reserved.