37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
<!DOCTYPE html>
 | 
						||
<html>
 | 
						||
    <head>
 | 
						||
        <meta charset="UTF-8">
 | 
						||
        <title>Wide - 多用户</title>
 | 
						||
 | 
						||
    </head>
 | 
						||
    <body>
 | 
						||
        <h1>多用户</h1>
 | 
						||
        <p>
 | 
						||
            支持多个用户同时使用一个 Wide 服务器,每个用户有自己独立的源代码仓库,编码/运行/调式都是在自己的工作空间中进行,不会影响其他用户。
 | 
						||
        </p>
 | 
						||
 | 
						||
        <h2>工作空间</h2>
 | 
						||
        <p>
 | 
						||
            一个工作空间由下面几个部分组成:
 | 
						||
        </p>
 | 
						||
        <ul>
 | 
						||
            <li>源代码仓库:data/user_workspaces/{user}/src</li>
 | 
						||
            <li>GOPATH:data/user_workspaces/{user}</li>
 | 
						||
        </ul>
 | 
						||
        <p>
 | 
						||
            这和 golang 本身 <a href="https://golang.org/doc/code.html#Workspaces" target="_blank">workspaces</a> 的设计保持一致:每个用户的 GOPATH 指定了其工作空间的路径。
 | 
						||
        </p>
 | 
						||
        <h2>版本控制</h2>
 | 
						||
        <p>
 | 
						||
            使用 git 作为源码版本控制系统,data/workspace/src 是主库,每个用户的源码仓库都克隆自主库。            
 | 
						||
        </p>
 | 
						||
 | 
						||
        <h2>运行时</h2>	
 | 
						||
        <p>
 | 
						||
            用户在运行程序时进程是跑在服务器上的,所以多用户同时运行程序时最常见的问题就是资源冲突(比如网络端口),目前这个问题只能靠用户自行规避。
 | 
						||
        </p>
 | 
						||
        
 | 
						||
    </body>
 | 
						||
</html>
 |