GoCD 设置代理
在AWS中国(不是国际的AWS哦)上部署了GoCD,设置的是在github提交到master会自动触发 WebAPP 的打包及上线过程。但是 AWS 中国区访问 github 的速度感人,经常掉线,在代码包大一点的时候会更慢。尤其是在下午 5-6 点下班的时候,不知道大家是不是都要这个点上线:-) 为了解决这个问题找了几个解决方案出来,整理一下,备用参考。
1.等
滚 du 子, 这能叫解决方案吗?
不过在晚上 9 点之后,好像真的快些啦。
2.设置代理
我们先来看 GoCD 的部署架构。
无论是 GoCD 的 Server 还是 GoCD 的 Agent 都是以 Docker 的形式运行在 EC2 的主机上,所以这里思路也很简单,只需要在 AWS 的 EC2 上运行代理,并在 Docker 中使用就好。
1.首先你得有个代理
这里还是推荐 SS 代理,无论如何你得有。没有的话,你得想办法,这就是本文的范畴。
2.安装Linux SS包
本文使用的是这个:
sudo apt-get install python-pip
sudo apt-get install python-setuptools m2crypto
pip install shadowsocks
将你的 SS 帐号保存在json中,并运行如下命令:
sslocal -c shadow.json -d start
json 文件的格式
{
"server":"XX.XX.XX.XX",
"server_port": XX,
"local_address": "xx.xx.xx.xx",
"local_port":1070,
"password":"xxxxx",
"timeout":300,
"method":"xxxxx",
"fast_open": false
}
PS: 更多命令用法请自行查看 sslocal
的 help。
3.git代理
目前 git 可以直接使用 Socket 代理了,方法如下:
git config --global http.proxy 'socks5://your ip:1070'
git config --global https.proxy 'socks5://your ip:1070'
要取消的话再执行如下命令。
git config --global --remove-section http.proxy
git config --global --remove-section https.proxy
结语
其实遇到这个问题的一个主要原因还是由于 repository 的容量过大,把图片这种素材也放在 codebase 里,后面也应该做进一步拆分。
补充:如果需要 http 代理,请使用 proxychains
。