【问题标题】:Team City Jobs to update only a certain folder from Git?Team City Jobs 仅从 Git 更新某个文件夹?
【发布时间】:2020-05-06 03:26:27
【问题描述】:

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

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

PS:我知道配置应该在环境基础上做更多,但我无权更改现有架构。

【问题讨论】:

    标签: continuous-integration teamcity


    【解决方案1】:

    所以我刚刚找到了一个解决方案,方法是将 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 并解压缩

    ssh\ -o StrictHostKeyChecking=否\ -o UserKnownHostsFile=/dev/null \ 服务器 "mkdir ~/application_new/ && tar -C ~/application_new/ -xz -f-" /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删除应用程序”

    设置 NODE_ENV 并启动 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"

    【讨论】:

      猜你喜欢
      • 2012-04-25
      • 2012-04-09
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      相关资源
      最近更新 更多