42qu.com 入门指南 : 程序员 篇#

申请开发权限#

我们提供了一个能很方便运行42qu.com代码的线上开发服务器

因为资源极度有限 , 此开发服务器仅对有能力贡献代码的开发者开放

首先, 在 bitbucket 上提交 issue

https://bitbucket.org/zuroc/zpage/issues/new

向管理员申请开发服务器的访问权限

申请中请注明

  1. 在42qu.com的主页地址
  2. 期望参与什么样的任务

管理员确认后 , 你会收到一份邮件

邮件里面会给出你所分配到的开发域名

注册开发域名#

https://www.dnspod.cn/ 注册一个帐号 , 绑定邮件里面提到的域名

../_images/dnspod.png

然后去 http://dot.tk/ 注册一个免费的顶级域名 (请先创建帐号, 然后注册)

../_images/tk.png

选择用自己的DNS服务器

../_images/tk2.png

把 dnspod 的 namesever 地址copy过来

../_images/dnspod_nameserver.png

最后在 dnspod 上 , 追加两个域名解析, 一个什么也不需要填 , 一个填写* , 都指向开发服务器的IP

../_images/dns_set.png

在域名生效前 , dnspod 会提示 “检测到域名没有填写DNS” 的错误 , 不要管它

../_images/dns_err.jpg

我们接着走下面的流程 , 域名生效要等上好几个小时 ...

人生充满了等待 ...

登录服务器#

参阅 SSH 登录 Linux服务器 流程说明

注意 : ssh key 已经生成 , ssh-keygen 生成密钥 命令这一句可以跳过

登录后请 执行 passwd 命令 , 修改密码

Fork zpage 项目 到自己的帐号#

../_images/fork.png

项目主页

注意 :

  1. fork的那个板块可能被折叠, 导致你看不见fork的链接 , 点击就可以把它展开
  2. 如果bitbucket提示出错, 不管它

添加自己的密钥到bitbucket#

ssh中

cat ~/.ssh/id_rsa.pub

然后 , 复制粘贴 ( https://bitbucket.org/account/ssh-keys/ )

../_images/bkssh.png

克隆代码库#

访问 https://bitbucket.org/repo/mine , 点击进入自己的项目

../_images/hg_ssh.png

注意 , 不要用privite的项目 , 不然将来没法给官方项目提交自己的修改

找到自己fork的项目ssh的地址 ( 注意不是https的地址 ) , 然后clone

../_images/hg_clone.png

人生充满了等待 ...

加入42qu的官方项目到 hgrc#

../_images/hg_rc.png

在 ~/zpage/.hg/hgrc 中加入

42qu = ssh://hg@bitbucket.org/zuroc/zpage

以后就可以通过

hg fetch 42qu

来同步官方代码到自己的fork

配置SMTP邮件服务器#

mailgun.net 注册一个免费的帐号

../_images/mailgun.png

找到用户名密码

../_images/smtp.png

编辑自己的配置文件

vi ~/zpage/config/user/$USER.py

修改为刚刚注册的SMTP服务器

../_images/smtp_config.png

数据库#

管理的地址 http://e1sql.42qu.us/ , 用户名密码见邮件

注意 : zpage 和 zpage_google 的共用的开发数据库 , 请不要乱动

你可以创建自己的 zpage_xxx 数据库玩

启动服务器#

先压缩一下静态文件

python ~/zpage/static/make.py

然后 ping 一下开发测试的域名 , 看看ip是否已经指向了ssh服务器的IP

如果没有生效 , 你可以去看场电影

如果成功 , 就可以启动服务器了

cd ~/zpage
./server_ctrl_dev.py

图片都是挂掉的 , 不管它

登录自己的42区#

为了包含网站用户的隐私 , 开发服务器的数据库对涉及个人隐私的数据都做了替换处理

不过你还是可以用自己帐号登录

首先, 我们要找到自己的邮箱对应的id , 比如访问

http://api.42qu.com/user/info/mail/id?mail=zsp007@gmail.com

其中zsp007@gmail.com为你在42qu.com的注册邮箱

可以看到返回 1 , 那么我们就可以用 1@42qu.com 登录在42qu.com上对应的帐号 (密码不变)

向官方代码库提交自己的改动#

首先 fetch 线上的代码:

hg fetch 42qu

然后合并完成代码后 , 可以向42qu.com的官方代码库发起pull请求

还是访问 https://bitbucket.org/repo/mine , 点击进入自己的项目

然后, 如图

../_images/pull_request.png

管理员备忘#

  1. 开通开发人员的帐号

    1. 登录主机 e1 @ e1.42qu.us

      cd ~/zpage/misc/vps $
      vi vps_new.py  #设置需要开通哪些帐号
      ./vsp_new.sh
自动翻页分割符。  当前页(第    2    页)。  跳到页面顶部  上翻  下翻  跳到页面底部  加载页  

开始战斗吧 ...#

准备 bitbucket.org 的帐号#

注册bitbucket帐号,且在本地生成ssh key后,需要将ssh目录中的public key黏贴至下图所示位置。

添加ssh key

#TODO

克隆代码库#

在自己的 ~/ 目录下 创建 .hgrc , 内容如下, 并修改 username 为自己的个人信息

.hgrc

[ui]
username = XXX <xxx@gmail.com>
verbose = True
ssh = ssh -i ~/.ssh/id_rsa -C
ignore = ~/.hgignore

[extensions]
hgext.purge=
color=
hgext.fetch=
bookmarks =
hggit =

[color]
status.modified = blue underline red_background
status.added = green
status.removed = red blue_background
status.deleted = cyan underline
status.unknown = magenta underline
status.ignored = black

diff.diffline =
diff.extended = cyan
diff.file_a = red
diff.file_b = green
diff.hunk = magenta
diff.deleted = red
diff.inserted = green
diff.changed = white
diff.trailingwhitespace = red_background

[alias]
blame = annotate --user --number

在自己的 ~/ 目录下 创建 .hgignore , 内容如下 ; .hgignore 用来注明不需要进行版本控制的文件

.hgignore

syntax: glob
*.elc
*.pyc
*~
*.swp
*.bak
.svn
supervise
nohup.out

*.htm.py
*.txt.py
local_config.py
my_local_config.py
__init_file_hash__.py
.*.js
.*.css
.css_hash
.js_hash

然后 , 克隆代码库

hg clone ssh://hg@bitbucket.org/zuroc/zpage

配置域名解析#

网络的设置参见 http://doc.42qu.me/vmware.html

以下以 huhuchen 用户作为演示 , 大家请用自己相应的用户名

打开 /etc/dnsmasq.conf

加入

address=/huhuchen.xxx/192.168.1.103

重启 dnsmasq

sudo /etc/init.d/dnsmasq restart

访问 http://huhuchen.xxx/ 可以看到 nginx 404 的页面提示

#TODO dnsmasq 是什么?

配置 nginx#

编辑 ~/zpage/config/nginx.py , 在这里加上自己的用户名

render_machine('krios', """
huhuchen
zuroc
wooparadog
work
realfex
""")

~/zpage/config/user 目录下

cp zuroc.py huhuchen.py
hg add huhuchen.py

修改其中域名和端口为自己的

运行脚本, 重新生成nginx配置文件

zuroc@krios ~/zpage/config $ python nginx.py

这里可以看到新生成的nginx配置文件

zuroc@krios ~/zpage/config $ vi nginx/krios/huhuchen.conf

重启 nginx 服务器

sudo /etc/init.d/nginx restart

注意 , 可能需要修改 /etc/nginx/nginx.conf 里面以下两行为自己的目录

include /home/zuroc/zpage/config/nginx/zpage.conf;
include /home/zuroc/zpage/config/nginx/krios/*.conf;

运行 42qu.com zpage框架#

首先编译静态文件

huhuchen@krios ~/zpage $ python static/make.py

然后启动开发服务器

huhuchen@krios ~/zpage $ ./server_ctrl_dev.py

访问 http://huhuchen.xxx 就可以看到42qu.com了 :)

创建自己的分支#

首先新建自己分支

hg fetch
hg branch huhuchen_20091012_my_first
hg commit -m"fix"
hg push

分支的命名规则 : 用户名_日期_功能描述

hg的用法 http://doc.42qu.me/HgUsge.html

进入开发流程#

http://doc.42qu.me/step.html

自动翻页分割符。  当前页(第    3    页)。  跳到页面顶部  上翻  下翻  跳到页面底部  加载页  

工作流程#

向管理员申请开通 42qu.tk 上的项目权限

登录后请 修改密码 并 补充个人的联系方式 (手机, QQ, Gtalk 等)

有任何产品上的想法 请在相应的产品下提交http://42qutk.sinaapp.com/product-browse.html

上一个主题

开始战斗吧 ...

下一个主题

数据库

::...
免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com


点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

订阅 substack 体验古早写作:


关注公众号, 持续获得相关各种嗯哼:
zoomquiet


自怼圈/年度番新

DU22.4
关于 ~ DebugUself with DAMA ;-)
粤ICP备18025058号-1
公安备案号: 44049002000656 ...::