git 国内加速代理

长期以来都是用着大带宽的或者海外的服务器,最近阿里做了一个云服务器促销活动,只有1M的带宽,连接github下载工具包那是一个慢。这篇文章简单记录下如何使用代理服务器进行下载加速。

  1. 设置本地代理

    http代理或socks代理均可,git目前都支持。

  2. git 的 http 协议代理

    如果是http代理,假设端口为1080,按照如下设置:

    git config --global http.proxy 'http://127.0.0.1:1080' 
    git config --global https.proxy 'https://127.0.0.1:1080'
    

    如果是socks代理,则是如下设置:

    git config --global http.proxy 'socks5://127.0.0.1:1080' 
    git config --global https.proxy 'socks5://127.0.0.1:1080'
       
    # 只对github.com 代理
    git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
       
    # 取消代理
    git config --global --unset http.https://github.com.proxy
    git config --global --unset http.proxy
    git config --global --unset https.proxy
    

    如果使用的是 .gitconfig 文件,则配置如下:

    [http]
    [http "http://git.kelu.orgl"]
    	proxy = socks5://127.0.0.1:1081
    
  3. git 的 git 协议的代理

    git config --global core.gitproxy "git-proxy"
    git config --global socks.proxy "localhost:1080"
       
    git config --global --unset core.gitproxy
    

参考资料


Mac 下安装 php 包管理器 composer

许久未在 Mac 上开发。不想今晚心血来潮试着把玩起老项目,好像最近刚重装了系统,mac 竟然没有 composer 命令。这篇文章记录下如何在 Mac 下安装 composer 命令。

一般来说,使用 brew 命令安装即可:

brew install composer

然而我在安装时出现了上面的错误:


==> Downloading https://getcomposer.org/download/1.7.2/composer.phar

curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to getcomposer.org:443
Error: Failed to download resource "composer"
Download failed: https://getcomposer.org/download/1.7.2/composer.phar

参考 github 的帖子 Mac OS 10.14 Mojave brew upgrade Curl LibreSSL SSL_connect: SSL_ERROR_SYSCALL #4436,设置如下环境变量即可:

export HOMEBREW_FORCE_BREWED_CURL =1

具体如下:

安装完成后,就可以幸福的 composer install 啦!


linux 下 CURL POST JSON 数据

纯粹做个记录,在 Jenkins 的 pipeline 脚本中,需要 curl post 一个 json 数据到远端应用,临时实现如下:

steps {

sh '''\
echo $TEST_URL/$JOB_NAME/$BUILD_ID
while [[ $(curl -sL -w "%{http_code}" -H "'Content-type':'application/json'" -X POST "$TEST_URL/$JOB_NAME/$BUILD_ID" -d '{"image":"'$MY_TAG'","kelu":"'test'"}' -o /dev/null) != "200" ]]; do
echo "backend is unavailable - sleeping"
sleep 5
done
'''

}

需要注意的是 -H 、 -X 和 -d 参数。如果不带 -H 参数,则 -d 中传递的是普通的 POST 参数,远端使用 json 解析是解析不出来的。