正确的方式打开apache项目

为什么要参与开源项目

  • 阅读大牛的代码,快速提升自身实力,同时也为公司引进先进的技术
  • 能为开源项目做贡献,于公司及个人都是一种实力的代表
  • github是全世界最大的开源项目集中地,被戏称为“全球最大同性交友网站”,做为程序员,这么大的盛宴,不参加岂不可惜!

在这里插入图片描述
开源项目都以能成为apache顶级项目为荣耀,所以我们先从如何参与开源项目开始吧!

签署 apache CLA

apache CLA全称apache CONTRIBUTOR LICENSE AGREEMENTS,是参与apache项目所需要签署的协议,分个人和公司

使用gpg2签名

官方只接受手写或者gpg签名,这里以gpg签名为例
gpg2下载地址:https://www.gnupg.org/download/index.html
选择相应操作系统版本下载
安装好后运行如下命令生成密钥对

gpg2 --gen-key

对文件签名

gpg2 --armor --detach-sign icla.pdf

此时在相同目录下会生成icla.pdf.asc文件,将这个文件和ica.pdf一同以附件的形式邮件发送到secretary@apache.org,过两天左右…你会收到一个失败的提示。
还需要上传公钥到服务器,运行如下命令导出公钥

gpg2 -a --export >my-pub.asc

打开my-pub.asc复制内容,打开页面http://pgpkeys.mit.edu,操作如下:
在这里插入图片描述
然后再重新发个邮件吧!

最后我们还需要备份我们的私钥,以防丢失!

gpg2 --export-secret-keys > gpg-pri.db

开发环境准备

找到合适的项目fork到自己的github账号,这里以incubator-openwhisk为例,如下图所示:
在这里插入图片描述
然后克隆到本地

git clone git@github.com:<your github id>/incubator-openwhisk

设置官方upstream,方便同步官方更新

cd incubator-openwhisk
git remote add upstream git@github.com:apache/incubator-openwhisk
git fetch --all

默认是处在master分支,先迁出一个新的分支比如我们现在想修复某个bug,如果你需要新建的文件,文件前面还要加上apache licience(https://apache.org/licenses/LICENSE-2.0),见链接底部。

git checkout -b fix-something
#修复bug...
git add .
git commit -m "fix something"

使用travis ci构建

travis ci与github集成的很好,而且易于使用,开源项目免费使用,github上很多项目都是用它来做持续集成。打开travis官网(https://travis-ci.org/),点击右上角的Sign with Github,根据提示授权,然后激活对应的仓库,链接 (https://travis-ci.org/account/repositories)
在这里插入图片描述
然后点击右侧的settings按钮,确保如下开关打开,这样你新推送的分支就会自动构建,别人提交的PR亦然!
在这里插入图片描述
push前合并下官方最新代码,确保无冲突并推送至fork仓库

git rebase upstream/master
git push origin fix-something

使用rebase合并而非pull,这样合并的结果就不会多出一个合并的变更集,看起来更自然。
由于前面配置了travis ci,push之后会自动构建,一段时间后可以看到结果,为了通过travis相关的测试可能需要反复的调试->提交->push->查看结果->调试。最后可能会产生类似如下很多的commit,但是你可能就只是修复一个简单的BUG,只想有一个备注一个commit。

commit 1
commit 2
...
commit N

可以使用如下命令压缩多个commit成为一个

git rebase -i upstream/master

通过travis ci后就可以发起PR到官方仓库了
在这里插入图片描述
按照如下操作发起fork仓库合并请求
在这里插入图片描述
然后按照要求填写必要的标题及说明,并勾选上之前通过的ICLA提交。
提交完后如果发现有误还可以修改,支持markdown语法,注意有代码的地方一个要用md,不然排版乱,很影响阅读!当然最后能不能通过其实还是未知数,当然驳回的话他们都会告诉你为什么不能这样改,或者你应该如何改才合理!通过了后他们往往会欢迎一下你:LGTM,Welcome to the Apache OpenWhisk project!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值