我是TeamCity的新手,有一个用例,其中存储库中有多个更改,但我只想通过Team City作业更新服务器上的某个文件夹。例如,我在项目内部的config文件夹中进行了一些更改,而我只想更新该特定文件夹,而忽略其余的文件夹。
可以这样做吗?如果是这样,正确的方法是什么?
PS:我知道应该在环境上完成更多配置,但我无权更改现有体系结构。
因此,我找到了一个解决方案,将git中的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 /”
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 /”
ssh \-o StrictHostKeyChecking =否\-o UserKnownHostsFile = / dev / null \服务器“ pm2删除应用程序”
ssh \-o StrictHostKeyChecking =否\-o UserKnownHostsFile = / dev / null \服务器“ cd应用程序&&导出NODE_ENV = dev &&导出NODE_OPTIONS =-max_old_space_size = 8192 && pm2 start process.json“