折腾:
【记录】把合并了基于搜索的兜底对话的产品demo部署到在线环境中
期间,发现是之前项目部署和上传代码期间,在排除项目根目录下的data文件夹(因为其中有几个G的大的数据文件,本地和线上都有,不需要同步上传),而误排除了某个子目录下面的data文件夹
所以现在需要去:
确保能排除掉项目根目录下的data文件夹
同时又不会排除,能保留某个子目录下面的data文件夹
其实是:
项目顶层目录中有个:data文件夹
而此处的子目录中,也有个data文件夹
而.gitignore中加上了:
data/
导致把子目录的data也过滤掉了
而改为:
/data
好像就可以了:
只排除顶层目录中data,而保留子文件夹中data
这个是git管理中忽略掉子目录中的data
而另外fabric
deploy/fabfile.py
去上传同步代码时,之前是:
from patchwork.transfers import rsync
…
syncExclude = [".DS_Store", "data/", "processData/mysqlQa/output_summary/", "*.log", "*.pyc", "__pycache__"]
syncResp = rsync(
remoteConn,
source=syncSource,
target=syncTarget,
# Note: be careful to add `delete`, to void to delete unexpected files
# delete=True,
exclude=syncExclude)
print("Sync lcoal %s to remote %s while exclude %s -> return %s" %
(syncSource, syncTarget, syncExclude, syncResp))
其中的data/好像也是排除了子目录中data
现在去改为:
/data
# syncExclude = [".DS_Store", "data/", "processData/mysqlQa/output_summary/", "*.log", "*.pyc", "__pycache__"]
syncExclude = [".DS_Store", "/data", "processData/mysqlQa/output_summary/", "*.log", "*.pyc", "__pycache__"]
看看是否能保留子目录中的data
还真的是可以的:
fab -r deploy upload
…
.git/objects/pack/pack-c08a9ff6b06afa70c3fac462063991c7099b5250.pack
.git/refs/heads/
.git/refs/heads/master
.git/refs/remotes/origin/
.git/refs/remotes/origin/master
.idea/
.idea/workspace.xml
deploy/
deploy/fabfile.py
nlp/dialog/
nlp/dialog/data/
nlp/dialog/data/__init__.py
nlp/dialog/data/reply.txt
sent 77.71K bytes received 3.01K bytes 161.43K bytes/sec
total size is 3.09M speedup is 38.26
(no stderr)
把nlp/dialog/data中的reply.txt上传上去了。
服务器中现在有这个文件了:
[root@xxx-general-01 xx]# ll nlp/dialog/data/
total 4
-rw-r–r– 1 root root 0 May 29 14:57 __init__.py
-rw-r–r– 1 root root 730 May 29 14:57 reply.txt
[root@x-xx-01 xx]# pwd
/root/xx
【总结】
git的.gitignore
和
fabric中利用patchwork的rsync去同步,在添加exclude参数,要排除掉的文件或文件夹时,
都是:
data/
排除掉所有的 data文件夹
除了项目根目录下的data文件夹
其他子文件夹中的data目录也会被排除过滤掉
/data
只排除项目根目录下面的data文件夹
其他子目录中的data文件夹,则不会被排除过滤掉