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

 标签: gocd

作者  :  sailor

仅仅看明白了还不够,能把别人给讲明白了才算及格。



最新文章