折腾:
【已解决】把Python3的Flask部署到远程CentOS7服务器
期间,为了把代码部署到服务器中,
也知道别人说过的,自动部署,通过git的hook去实现,用工具实现
但是之前自己用过的,当前本地Python代码的开发工具:PyCharm,就有代码同步和上传,觉得不错。去继续折腾用这个试试。
期间提示:
但是好像又能列出文件了:
然后好像配置好了:
再去看看选项:
(比如是否可以覆盖文件之类的配置)
另外好像还需要去点击:
Use as default
否则默认都是灰色的:
去排除掉一些,此处的logs目录
和额外的__pycache__目录:
不过提示out of project,所以去掉这个__pycache__
另外:
最后改为:
Connection中,用AutoDetect出来的
/root
然后在Mapping中用相对路径:
/naturling_20180101/web/server/robotDemo
(也可以点击右边三个点,去选择目录)
再排除掉此处的logs文件夹:
然后此处就可以去upload了:
好像是因为只选择了一个文件,
所以提示只上传了单个文件
选择项目根目录,再去选择上传:
结果:
对了:
去服务器端看看文件对不对:
[root@naturling-general-01 robotDemo]# pwd
/root/naturling_20180101/web/server/robotDemo
[root@naturling-general-01 robotDemo]# ll -lha
total 48K
drwxr-xr-x 2 root root 4.0K Apr 23 17:21 .
drwxr-xr-x 3 root root 4.0K Apr 23 11:29 ..
-rw-r–r– 1 root root 8.4K Apr 23 10:27 app.py
-rw-r–r– 1 root root 1.6K Apr 20 13:45 gunicorn_config.py
-rw-r–r– 1 root root 212 Apr 20 10:15 Pipfile
-rw-r–r– 1 root root 7.8K Apr 23 11:37 Pipfile.lock
-rw-r–r– 1 root root 11K Apr 23 10:30 supervisord.conf
也是对的。
然后去改动单个文件后,右键上传:
去服务器看看是否生效:
也是生效的:
【总结】
此处就是去新增一个Deployment的设置,然后设置好,就可以了:
Tools-》Deployment-〉Configuration:
点击加号新增一个配置
在Add Server中,选择 SFTP
(说明:此处由于服务器中没有配置FTP服务器,所以用,只要有SSH就内置支持的SFTP)
然后去修改配置为:
Connection中:
Type:SFTP
SFTP Host:服务器的IP地址
Port:默认就是22
Root Path:
选择之前,记得要先去设置好登录方式(用户名+密码,还是 用户名+auth)
注意路径的设置:
可以点击三个点,去选择对应的路径
也可以点击Auto Detect会帮忙自动
会默认设置为当前用户的默认目录
此处用户是root,所以默认路径是:/root
User Name:用户名,SSH的用户名,一般都是root
Auth Type:
密码模式:之前用的多的是,用户名加密码
key文件模式:后面别人用了私钥文件,则选择 Key Pair(OpenSSH or Putty)
Private key file:选择之前自己创建好的,可以用于SSH登录的rsa的私钥文件
比如此处放在了:/Users/crifan/.ssh/id_rsa
Mapping:
Local Path:自己本地的目录,写绝对路径,好理解。
Deployment path on server:
注意此处的路径,是相对于,Connection中的Root Path来说的
我此处的Connection中的Root Path是 /root
但是此处还是/开头的:/naturling_20180101/web/server/robotDemo
其实更简单省事的办法是:点击三个点,自己选择列出来的路径,即可。
Excluded Paths:
Add local Path -》然后输入对应的本地的要排除的路径
即可。
之后,可以:
先点击项目根目录后,再去点击Tools-》Deployment-〉Upload to xxx
即可上传整个项目的所有文件(去除排除掉的)
以及:
也可以(在修改了某单个文件后),右击该单个文件,选择 Upload to xxx,也可以直接单独上传该文件。
转载请注明:在路上 » 【已解决】用PyCharm同步代码到服务器以实现代码部署