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

49 回复

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 operand44’
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 或是其它内置工具,返回服务端 信息,告之俺修訂是否正确
    • 现在是直接囧掉,

嗯嗯嗯,命令行工具是个非常 非常 包含好的调试习惯的开发/部署工具

  • 一定要从最自然的开发流程為綫索组织命令哈,

现在可以了, 直接成功

好建议 :)

  1. 需要查一下,有可能是提示信息不准。 另外 看看client的版本,上午有段时间版本不对~,看是不是这周末build的

    $ nae -v

  2. 如果当前路劲在app目录中,不需要输入appname,会自动识别,前提 app 根目录的目录名 == appname

  3. debug 目前的动作是 连接服务器 > pipe app的stdout | stderr 到命令行 > 重启app服务, 可以串上sup动作

  4. 一定一定,有什么好的建议,欢迎提出 , :)

哦,这个问题是服务器端的问题,你是把服务器上.naeindex删除了么? 看样子需要修一下 :)

发现问题了,修复之后通知你 :)

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 这个命令更方便

这两个命令功能是一样的吗?有没有什么差别啊?

没有区别,都是上传本地app 到dev模式

过滤文件, 写了

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 了…

怎么好多应用都挂掉了 - - 还不能重启

v5weibo start fail, process exit code: 1, sig:null

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后面怎么会多了一个“号

有没有同步单个文件或者目录的命令?

Nodejs NAE 命令行客户端 V1.1 Release

Hi, all!

NAE 客户端 v1.1 发布啦!

NAE 客户端是为本地开发设计的命令行工具,通过简单的命令即可操控 NAE 上的应用。欢迎试用,但为了安全起见,请首次试用时使用一个测试目录,并保护好自己的代码。

任何建议或发现 bug,请随时反馈,谢谢!

安装 nae 客户端

# 默认安装路径为 /usr/local/lib/nae/
# 之前安装过的,请手动删除 /usr/local/bin/nae

$ npm install -g nae

安装完成后,验证是否安装成功:

$ nae -v
# 将打印出版本信息,说明安装成功

使用 nae 客户端

身份认证

使用 auth 命令进行身份认证:

$ nae auth

认证成功后,会在 ~/.nae_auth 文件中保存认证的 token 信息。因此,切换用户时需要重新认证。

查看应用状态

显示 [dev][online] 应用的状态:

$ nae status appname       # 显示 [dev] 的 app 状态
$ nae status appname -o    # 显示 [online] 的 app 状态
启动应用

启动 [dev][online] 应用:

$ nae start appname      # 启动 [dev] app
$ nae start appname -o   # 启动 [online] app
关闭应用

关闭 [dev][online] 应用:

$ nae stop appname       # 关闭 [dev] app
$ nae stop appname -o    # 关闭 [online] app
重启应用

重启 [dev][online] 应用:

$ nae restart appname      # 重启 [dev] app
$ nae restart appname -o   # 重启 [online] app
调试应用

捕获服务器端调试信息:

$ nae debug appname   # 捕获服务器端调试信息
$ nae stdout appname  # 服务端 console.log 输出
$ nae stderr appname  # 服务端 error 输出
上传应用

上传应用并排除特定文件:

$ nae syncup appname  # 同步上传
$ nae sup appname     # 更方便的上传命令

在应用根目录下创建 .naeignore 文件来排除不需要上传的文件和目录。

下载应用

下载应用并在本地同步:

$ nae syncdown appname  # 同步下载
$ nae sdown appname     # 更方便的下载命令

下载后目录中会有一个 .naeindex 文件,不要删除它,因为客户端需要这个文件。

发布应用

将应用发布到在线模式:

$ nae pub appname
更新客户端

注意权限问题,如果安装时使用了 sudo,请使用 sudo 执行以下命令:

$ nae update
支持的平台
  • Linux Shell
  • Windows Git-Bash

希望以上信息对你有所帮助,如果有任何问题或建议,请随时反馈。

回到顶部