本文目的: 让linux下的openstack代码能在windows上面实时同步开发。
采用的技术方案为:samba文件共享
实验环境:centos6.5、windows7、openstack icehouse版
1、在linux下面搭建samba文件服务器:
1、
yum install -y samba samba-client
2、
useradd myshare
smbpasswd -a
myshare
3、
mkdir /home/samba
4、
vi /etc/samba/smb.conf
在配置文件[globle]处:
[global]
unix extensions = no
在文件末尾添加:
[myshare ]
comment = mysharefiles
path = /home/samba
follow symlinks = yes
wide links = yes
public = yes
writable = yes
browseable = yes
valid users = myshare
假若mac电脑添加如下:
[myshare]
comment = openstackfiles
path = /home/samba
follow symlinks = yes
wide links = yes
public = yes
writable = yes
browseable = yes
guest ok = Yes
5、
将刚才添加的samba用户和linux系统的用户建立对应关系。
vi /etc/samba/smbusers
myshare
=
myshare
6、
service smb restart
chkconfig smb on
7、
service iptables stop
关闭selinux
samba服务器搭建完成。
centos7:上面:
systemctl enable smb
systemctl restart smb
systemctl stop iptables 设置Apache
假若想在页面看到文件夹
我只需要把 /home/share 目录链接到apache目录下显示就可以 ln -s /home/myshare /var/www/html/
然后windows登陆:\\10.28.170.89
全部完成~!
|
2、在windows上面连接smb共享:
3、在samb共享文件夹/home/samba下面链接nova源代码以(以nova开发为例):
ln -s /usr/lib/python2.6/site-packages/nova nova
|
windows机器既可以看到:
在nova文件夹创建文件出现:
上述错误为没有linux对应代码的操作权限:
将nova对应的文件夹操作权限修改为777
3、在samb服务器,备份nova源代码,clone代码库代码:
将之前nova代码备份(将nova文件夹置空):
cd /usr/lib/python2.6/site-packages/
cp nova nova.bak
rm -rf nova/*
|
在windows的nova文件夹,右键打开git bash:
git clone
git@wishi.gitlab.com:openstack/nova-2014-1-1-dev.git ../nova
|
可以看到windows的nova文件夹已经clone好代码库代码.
同样在linux的nova源代码文件夹下也有了对应的代码:
重启nova服务:
页面访问openstack:
4、使用pycharm导入nova工程:
5、以将nova的server控制器代码的route发布打印出来为例,讲解同步修改linux代码:
原始windows与linux代码(两处代码肯定会是一致):
vim /usr/lib/python2.6/site-packages/nova/api/openstack/compute/__init__.py
|
接下来在pycharm中修改代码,增加打印server的route:
发现linux对应文件夹中代码已经自动与windows代码同步:
tailf /var/log/nova/api.log
在linux下重启nova-api服务,刚刚添加的代码则生效。
与预期一致。
注:加入在linux修改源码,对应也会在windows的文件中自动映射修改内容。
接下来就可以利用git对版本进行控制。