Nodejs NAE 命令行客户端 V1.1 Release
Nodejs NAE 命令行客户端 V1.1 Release
Hi, all
NAE client v1.1 release !
NAE client 是NAE本地开发的命令行工具,可以通过简单的命令操控NAE上的APP, 欢迎试用,安全起见,首次试用,请先用一个测试目录。记得保护自己的代码哦
任何建议和bug,欢迎跟帖反馈 , ^_^ 。
安装nae客户端
默认的安装路径 /usr/local/lib/nae/ bin path => /usr/local/bin/nae
之前安装过的,手段删除一下 /usr/local/bin/nae
$ npm install -g nae
安装之后
$ nae -v
# 将打印出版本信息,说明安装成功
使用nae客户端
在开始之前,请仔细阅读这段说明。 nae client在开始使用时需要先身份认证,身份认证需要使用auth命令获取身份认证
$ nae auth
份认证成功之后,会在~/.nae_auth文件中保存认证的token信息。所以当切换用户时,需要重新认证。
nae client执行download动作时,是将服务器端的代码同步到本地。 同步的过程中,“会删除本地有而服务器端没有的文件!!!” 所以在使用download之前,请先commit本地代码,以防代码丢失。
nae client执行upload的时候,同样,“会将本地没有而服务器端有的文件删除!!!” 所以在upload之前,如有必要,请先备份服务器端代码。
身份认证
$ nae auth
查看app状态
$ nae status appname 显示[dev]的app状态
$ nae status appname -o 显示[online]的app状态
启动app
$ nae start appname 启动[dev] app
$ nae start appname -o 启动[online] app
关闭app
$ nae stop appname 关闭[dev] app
$ nae stop appname -o 关闭[online] app
重启app
$ nae restart appname 重启[dev] app
$ nae restart appname -o 重启[online] app
调试app
$ nae debug appname 捕获服务器端调试信息,这是一个组合命令: stdout+stderr+restart
$ nae stdout appname 服务端console.log输出
$ nae stderr appname 服务端error输出
上传app
上传的时候,有需要排除的文件 比如.project .setting等文件,可以在app的根目录下创建一个.naeignore文件,每行一个正则表达,匹配则忽略文件和目录
$ nae syncup appname
$ nae sup appname 这个命令更方便
下载app
下载之后,目录中会有一个索引文件,.naeindex ,这是一个diff文件,不要删除它,client需要这个文件
$ nae syncdown appname
$ nae sdown appname 这个命令更方便
发布app
$ nae pub appname 将app发布到online模式
帮助信息
$ nae help
更新客户端
$ nae update 注意权限,如果安装的时候sudo了,请sudo执行这条命令
启动app
当cd到app目录中时,nae命令可以省略appname,比如:
$ nae start
# 重启
$ nae restart
.naeignore
.naeignore文件策略
. naeignore 文件用来控制syncup、syncdown时,过滤不必要的文件传输,比如一些用户数据、版本控制文件、服务器日志等等。 syncup的时候,使用本地的. naeignore文件, syncdown的时候,使用服务器端的. naeignore文件
.naeignore 编写范例:
每行一条规则;
规则 等价于正则表达 结果
db/* => ^db/.$ 过滤服务器根目录下的db目录下的所有文件,db目录不会被过滤
db => ^db$ 仅过滤服务器根目录下名为 db的文件|目录(如果目录,文件不被过滤)
log/.error => ^/log/..error$ 过滤服务器根目录下 log目录下的 .error后缀的文件
upload/ => ^upload/.*$ 过滤上传目录下的所有文件
package.json => ^package.json$ 过滤nae的配置文件
config.js => ^config.js$ 过滤工程的配置文件
nae默认过滤 .svn .git .cvs目录
.naeignore 的匹配规则作用与相对于app根目录的文件路径 ,例如有一个app的名字叫 docs,
那么要排除 docs的 data/ 目录的上传下载 ,则需要规则 “data/.*”。
支持的平台
linux shell
windows git-bash
Nodejs NAE 命令行客户端 V1.1 Release
大家好,
我们很高兴地宣布 NAE 客户端 v1.1 版本正式发布!
NAE 客户端是我们为本地开发设计的命令行工具,能够通过简单的命令来操控 NAE 上的应用。我们鼓励大家试用此工具,但为了安全起见,请首先在一个测试目录中进行尝试,并确保您的代码得到妥善保护。
如果您有任何建议或发现任何问题,请随时在帖子中留言反馈,谢谢!
安装 NAE 客户端
默认情况下,安装路径为 /usr/local/lib/nae/
,二进制文件路径为 /usr/local/bin/nae
。如果之前已经安装过旧版本,请手动删除 /usr/local/bin/nae
。
$ npm install -g nae
安装完成后,您可以验证是否安装成功:
$ nae -v
# 输出版本信息
使用 NAE 客户端
在开始使用 NAE 客户端前,请确保已经完成身份认证。身份认证需要使用 auth
命令。
$ nae auth
身份认证成功后,会在 ~/.nae_auth
文件中保存认证的 token 信息。因此,当切换用户时,需要重新进行身份认证。
身份认证
$ nae auth
查看应用状态
$ nae status appname # 显示 [dev] 应用的状态
$ nae status appname -o # 显示 [online] 应用的状态
启动应用
$ nae start appname # 启动 [dev] 应用
$ nae start appname -o # 启动 [online] 应用
关闭应用
$ nae stop appname # 关闭 [dev] 应用
$ nae stop appname -o # 关闭 [online] 应用
重启应用
$ nae restart appname # 重启 [dev] 应用
$ nae restart appname -o # 重启 [online] 应用
调试应用
$ nae debug appname # 捕获服务器端调试信息,这是一个组合命令: stdout + stderr + restart
$ nae stdout appname # 服务端 console.log 输出
$ nae stderr appname # 服务端 error 输出
上传应用
上传时,您可以排除一些不需要的文件,如 .project
, .setting
等。可以在应用的根目录下创建一个 .naeignore
文件,每行一个正则表达式,匹配则忽略文件和目录。
$ nae syncup appname
$ nae sup appname # 更方便的命令
下载应用
下载后,目录中会有一个索引文件 .naeindex
,这是 diff 文件,不要删除它,客户端需要这个文件。
$ nae syncdown appname
$ nae sdown appname # 更方便的命令
发布应用
$ nae pub appname # 将应用发布到 online 模式
获取帮助信息
$ nae help
更新客户端
$ nae update # 注意权限,如果安装时使用了 sudo,请 sudo 执行这条命令
支持的平台
- Linux Shell
- Windows Git-Bash
.naeignore 文件策略
.naeignore
文件用于控制同步上传和下载时过滤不必要的文件传输,例如用户数据、版本控制文件、服务器日志等。
# 每行一条规则
# 过滤服务器根目录下的 db 目录下的所有文件
db/* => ^db\/.*$
# 过滤服务器根目录下名为 db 的文件/目录
db => ^db$
# 过滤服务器根目录下 log 目录下的 .error 后缀的文件
log/*.error => ^\/log\/.*\.error$
# 过滤上传目录下的所有文件
upload/* => ^upload\/.*$
# 过滤 nae 的配置文件 package.json
package.json => ^package\.json$
# 过滤工程的配置文件 config.js
config.js => ^config\.js$
默认情况下,NAE 会过滤 .svn
, .git
, .cvs
目录。
希望这些信息能帮助您更好地理解和使用 NAE 客户端。祝您使用愉快!
非常棒的工具。
nae现在只支持php。对python和java的支持还在内测中,node.js更是遥遥无期。不知道楼主发这个想干什么
呃。。。你说的是sae吧?和nae不一样。。。
强烈支持,对于我这个命令控,很必要。。。
哦。我看错了。不好意思。谢谢提醒
囧,NAE 只支持NodeJS 。 对python和java的支持,不是NAE要做的事情哦。NAE 是 Node App Engine , 你要说的是 SAE(Sina App Engine)吧 ?
NAE client 要做的事情就是提供命令行模式的接口,方便程序的开发调试部署, :)
啥时候完全开放啊?还是要邀请码嘛?赐一个吧。。。
照上面的运行了一遍… 结果没有成功… ubuntu 12.04 的问题?
$ ls /usr/local/lib/nae/ client.tar.gz install.sh Jakefile.js lib nae readme.txt $ ls /usr/local/bin/nae ls: cannot access /usr/local/bin/nae: No such file or directory $ nae No command 'nae' found, did you mean: $ /usr/local/lib/nae/nae dirname: extra operand
44’
Try dirname --help' for more information. /usr/local/lib/nae/nae: 90: /usr/local/lib/nae/nae: /lib/nae.js: not found
sudo ./install 的时候,输出了什么内容呢?有报错么?
/usr/local/bin/nae 是命令文件,试试
$ ln -s /usr/local/lib/nae/nae /usr/local/bin/nae
$ nae -v
输出太长, 用了 $ ln … 然后好像能用了
但是 -v 选项真的是下面这样吗?
$ nae -v
usage: >nae [cmd] [option]
example:>nae start appname
>nae debug appname
[cmd] can be:
auth get auth info , when installed client, auth first!
start [appname] sta
…
markdown 里面复制粘贴终端的内容有点纠结啊…
发现了一个问题,囧,这是之前的发布地址
$ wget http://cnodejs.net/client/install.sh
$ chmod +x ./install.sh
$ sudo ./install.sh
更新了一下,blog那边也更新了一下,http://blog.cnodejs.net/post/4ee89f36459ab3516e000005
默认安装路径是否能改成env找到的node二进制路径? 更简单一些
很好的开始,不过,问题真心不少:
-
命令执行环境的不连续:
- 已经通过了 nae auth
- 但是,多次失败,要求重新 auth
-
命令不知道当前的调试项目:
- 只有 nae sup 知道当前在哪个项目中
- 其它各种命令都不知道,实际还是要指出目录
-
debug 命令真心无法使用
-
俺的直觉是,每次使用 nae debug 都作以下事情:
- sup 最新代码
- 重启服务
- 使用 curl 或是其它内置工具,返回服务端 信息,告之俺修訂是否正确
-
现在是直接囧掉,
-
嗯嗯嗯,命令行工具是个非常 非常 包含好的调试习惯的开发/部署工具
- 一定要从最自然的开发流程為綫索组织命令哈,
现在可以了, 直接成功
好建议 :)
-
需要查一下,有可能是提示信息不准。 另外 看看client的版本,上午有段时间版本不对~,看是不是这周末build的
$ nae -v
-
如果当前路劲在app目录中,不需要输入appname,会自动识别,前提 app 根目录的目录名 == appname
-
debug 目前的动作是 连接服务器 > pipe app的stdout | stderr 到命令行 > 重启app服务, 可以串上sup动作
-
一定一定,有什么好的建议,欢迎提出 , :)
发现问题了,修复之后通知你 :)
Node App Engine Client Tool - v1.1 build:2012/02/11 01:49:58 http://cnodejs.net
好了,试试 :
$ nae update #如果需要权限,请sudo执行
:)
顶个楼,插入前排 O。O
客户端的说明文档更新~ ,增加了online模式操作的说明
npm nae 名字抢到鸟,下一个大版本可以考虑使用 npm 安装哦 , :)
给力呀~~~~~支持支持 下过来试试看
MAC OSX 10.7 测试可用 至少安装成功
:)
$ nae syncup appname $ nae sup appname 这个命令更方便
这两个命令功能是一样的吗?有没有什么差别啊?
过滤文件, 写了
node_modules/express
node_modules/jade
node_modules/.bin
结果这3个目录还是上传了. Express这个是NAE本身就提供的吧? 能否默认就不上传,类似.git那样
NAE install ERROR in MacOSX 10.7.3 — Gist https://gist.github.com/2397499
原先通过 http://cnodejs.net/client/install.sh 方式安装了NAE 1.1
-
然后,现在通过
$ sudo npm install nae -g
- 安装失败! 是否給以前的用户提供 uninstall 脚本?
手工删除 /usr/local/lib/nae 以及 /usr/local/bin/nae 后再安装 npm 版 nae 就 KO 了…
windows git-bash下上传下载app都是返回
[INFO] * connection established !
[INFO] * No Change
[INFO] * connection closed !
注:NAE上并还没有任何文件!
上面那个是什么原因呢?还有执行命令:nae status appname
时提示App "xxx"" not found
,但是该appname确实存在NAE上的!
#syncup server timeout 昨晚到今天都是这样
#bug反馈, window 平台。 nae auth , nae syncdown和nae syncup命令失败。
本机,64位window下,nae auth认证失败
我是64win7 成功了
$ nae syncup acmer now you are working on app : nodeChat but you are trying : syncup:acmer please leave current dir , cd to another path first!
这个可以改改?
请问我的版本是最新的吗 怎么是0.1.15 不是1.1 Node App Engine Client Tool - v0.1.15 http://cnodejs.net
而且执行nae auth 提示success 之后 需要ctrl+c 推出来 ,不过执行 nae status appname 等命令都提示
[ERROR] * you don’t have the app’s permission . auth failed ! [INFO] * connection closed !
到当前目录 nae synup 这样不简单吗
nae start
[INFO] * connection established ! [ERROR] tfrc start fail, process exit code: 1, sig:null [INFO] * connection closed !
nae -v Node App Engine Client Tool - v0.1.15 http://cnodejs.net
我也碰到了同样的问题,一直停在[INFO] * Auth success! 难道是Win环境下不支持?
我执行nae status huzhifengdemo提示找不到app,但我明明已经创建好了的 [ERROR] App “huzhifengdemo”" not found. 奇怪的是app后面怎么会多了一个“号
有没有同步单个文件或者目录的命令?