使用Git或SVN方式上传代码文件到SAE的教程
概述
目前sae上的应用支持通过git和svn来部署代码。
git仓库地址 https://git.sinacloud.com/your_app_name
svn仓库地址 https://svn.sinacloud.com/your_app_name
用户名 sae安全邮箱
密码 sae安全密码
注解
用户名和密码为安全邮箱和安全密码,不是微博账号和微博密码!如已启用微盾动态密码,则密码应该是“安全密码”+“微盾动态密码”
使用git客户端
注解
git代码部署只支持新创建的应用,现有已经使用svn来部署的应用暂时无法使用git来部署。
假设您刚刚创建了应用newapp。
首先,创建一个新的git仓库并且添加一个git远程仓库sae,地址为:https://git.sinacloud.com/newapp 。
$ mkdir newapp && cd newapp
$ git init
$ git remote add sae https://git.sinacloud.com/newapp
上传代码。如部署git的主分支(master)的代码到sae服务器上的版本1中:
$ touch index.php
$ git add index.php
$ git commit -m"initial commit"
$ git push sae master:1
从sae服务器上删除版本1的代码。
$ git push sae :1
在sae上,应用版本对应于git的远程分支。详细说明见: 应用目录、应用版本目录、应用版本 。
git帮助文档:https://git-scm.com/book/zh/v1
最后,你可以使用 credential helper 来避免每次提交都要输入密码,如何配置可以参见:https://help.github.com/articles/caching-your-github-password-in-git/
如果使用git-1.7.10之前的版本,在git clone或者git push的时候你可能会遇到以下这些问题,请升级git版本之后再使用。
error: the requested url returned error: 401 while accessing
https://git.sinacloud.com/repo/info/refs?service=git-receive-pack</p> <p>fatal: http request failed
error: the requested url returned error: 403 while accessing
https://git.sinacloud.com/repo/info/refs</p> <p>fatal: http request failed
error: https://git.sinacloud.com/repo/info/refs not found: did you run git
update-server-info on the server?
注解
应用配置文件config.yaml不会被部署到用户的代码目录,但会被存储在服务端git仓库中。
使用svn客户端
tortoisesvn客户端
注解
如果使用tortoisesvn 1.8.x部署代码发生问题,请尝试更新至最新版本或者使用1.8以下的版本。
在windows下推荐使用乌龟(tortoise)svn客户端。 tortoisesvn 是 subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在*版本库(即sae*svn仓库),除了能记住文件和目录的每次修改以 外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 subversion 和版本控制系统看作一种“时间机器”。
tortoisesvn下载: http://tortoisesvn.net/downloads.html
下面详细介绍使用tortoisesvn向sae部署代码。
第一步,如图,创建一个新文件夹作为本地工作目录(working directory),可以使用应用名为文件夹名。如,为我的应用devcenter创建本地工作目录。
第二步,从sae的svn仓库检出(checkout)一个应用的全部版本代码,如图2,右键–>点击“svn checkout”
在弹出页面中填写仓库路径即可,这里是:https://svn.sinacloud.com/devcenter/,其它默认参数即可,如图:
reversion处,“head revision”是指最新版,也可以指定revision为任意一个版本。
点击“ok”,出现下载界面,如图:
如果一切顺利,devcenter应用所有版本代码将会全部出现在刚刚创建的devcenter文件夹下,如图:
在本地使用你喜欢的编辑器,编辑任意文件,保存后该文件图标将会出现红色感叹号,如图所示:
看,刚刚修改过的index.php变色了。下面需要提交(commit)最近的更新。在index.php文件上击右键,出现菜单
选择“svn commit”,如图:
然后填写关于本次更新的日志(log message),这是必填项,否则commit会失败。如图:
当您看到如下图所示,表明刚才的修改已经成功提交,并且前该devcenter项目的svn版本号加1,变成30.
在svn工作目录下,对于文件修改,完成后只需要commit就ok了,但对于新增文件,或者从其它目录复制进来的文件或文件夹,需要在commit之前需 要做一步add操作,即将文件或文件夹添加到svn工作目录中来,否则svn客户端不认它。具体操作很简单,如图:
然后再如右键commit 即可。