Github
2016-11-22
github走proxy
1.首先开启代理,这种方式只支持https方式,ssh不行
2.给全局git-config配置代理
git config --global http.https://github.com.proxy socks5://127.0.0.1:50001
3.clone的时候使用proxy
git clone https://github.com/xxx.git -c http.proxy=socks5://127.0.0.1:50001
4.取消全局代理
git config --global --unset http.https://github.com.proxy
直接用git下载Gist ID内容
git clone git@github.com:cc13e0fcf2c348cc126f918e4a3917eb.git
github与七牛云持续集成
七牛云的CDN提供API刷新缓存服务,我们可以使用github的webhooks来触发刷新。
1.首先配置github的hook:
在项目里找到settings->Webhooks
设置:Payload URL 项为我们服务器的地址,然后保存
2.生成token,如下:
echo "/v2/tune/refresh" |openssl dgst -binary -hmac "用户SK" -sha1 |base64 | tr + - | tr / _
3.编写服务端脚本,来触发七牛API:
比如我用PHP来触发http://git.malu.me:
<?php
#七牛刷新缓存函数
function refresh_qiniu($path){
$message = exec('curl -X POST -H "Authorization: QBox <用户AK>:<生成的token>" http://fusion.qiniuapi.com/v2/tune/refresh -d \''.json_encode($path).'\' -H \'Content-Type: application/json\' 2>&1');
return $message;
}
$getin = file_get_contents("php://input");
#追加写入日志
file_put_contents('file.log',$getin, FILE_APPEND|LOCK_EX);
$getinarr = json_decode($getin);
$getinarr = $getinarr->commits[0];
$path = array();
#添加文章
if(!empty($getinarr->added) || !empty($getinarr->removed)){
echo '刷page:';
$path['urls']=array('http://git.malu.me','http://git.malu.me/index.html');
$path['dirs']=array('http://git.malu.me/page/*');
echo refresh_qiniu($path);
}
#修改文章
if(!empty($getinarr->modified)){
echo '刷url:';
foreach($getinarr->modified as $key=>$value){
//echo $value;
#匹配出文章名
if(preg_match('/-\d\d-\d\d-(.*?)\.md/is', $value, $out)){
//var_dump($out);
echo $out[1];
#对中文编码
$renewurl = 'http://git.malu.me/'.urlencode($out[1]).'/';
$path['urls']=array($renewurl);
echo refresh_qiniu($path);
}
}
}
七牛对象存储301跳转
qrsctl redirect <Bucket> <Key> <RedirectUrl> [<RedirectCode>]