大部分在文档上都写了, 写这篇文章的目的是发现如今appcfg.py update xxxx
的时候会打开浏览器访问google请求受权(后台内建了一个本地server, 端口是8090
, 受权成功后会带受权码请求本地的8090端口, 因此咱们在 ssh 环境中是没有浏览器的, 该怎么解决呢?html
我玩 linux 很少, 就以个人知识量这么解决:linux
127.0.0.1:8090
, 固然, 什么都不会发生, 但从地址栏里把地址复制到剪贴板.ctrl+z
)curl
访问剪贴板里的地址ctrl+z
把curl
请求放到后台jobs
命令查一下, 若是后台没有别的任务的话, appcfg
任务的id 应该是1, curl
任务id 应该是2(如今以个人1和2为准)appcfg
提到前台: fg %1
fg %2
把 curl 任务提到前台, 你会看到提示, 什么受权成功之类的演示:(有更好的方法欢迎指教)web
root@walker:~/KindleEar# appcfg.py update app.yaml module-worker.yaml 07:52 AM Host: appengine.google.com 07:52 AM Application: kindleearwalker; version: 1 07:52 AM Starting update of app: kindleearwalker, version: 1 07:52 AM Getting current resource limits. Your browser has been opened to visit: https://accounts.google.com/o/oauth2/auth?scope=演示数据 # step1: 请复制此网址, 并忽略要你退出换电脑的提示 If your browser is on a different machine then exit and re-run this application with the command-line parameter --noauth_local_webserver # step2: 如今开始把任务放到后台 ^Z [1]+ Stopped appcfg.py update app.yaml module-worker.yaml # step3: 把从本机浏览器复制的回调 url 访问一下 root@walker:~/KindleEar# curl http://localhost:8090/?code=4/xxxxxx# # step4: 把访问任务放到后台 ^Z [2]+ Stopped curl http://localhost:8090/?code=4/xxxxxx# # step 5: 查看一下任务和 ID root@walker:~/KindleEar# jobs [1]- Stopped appcfg.py update app.yaml module-worker.yaml [2]+ Stopped curl http://localhost:8090/?code=4/xxxxxx# # step 6: 把appcgf的任务提到前台 root@walker:~/KindleEar# fg %1 appcfg.py update app.yaml module-worker.yaml Authentication successful. 07:54 AM Scanning files on local disk. 07:54 AM Cloning 15 static files. 07:54 AM Cloning 387 application files. 07:54 AM Uploading 3 files and blobs. 07:54 AM Uploaded 3 files and blobs. .........省略 07:54 AM Compilation completed. 07:54 AM Starting deployment. 07:54 AM Checking if deployment succeeded. 07:54 AM Deployment successful. 07:54 AM Checking if updated app version is serving. 07:54 AM Completed update of app: kindleearwalker, module: worker, version: 1 # step 7: see? 成功了, 看看剩下的任务吧 root@walker:~/KindleEar# jobs [2]+ Stopped curl http://localhost:8090/?code=4/xxxxxxx# # step 8: 提到前台来结束吧 root@walker:~/KindleEar# fg %2 curl http://localhost:8090/?code=4/xxxxxxx# <html><head><title>Authentication Status</title></head><body><p>The authentication flow has completed.</p></body></html>root@walker:~/KindleEar#