前言
昨天由于自己把搭的springcloud的虚拟机开发环境的网络服务玩蹦了,尝试一下虚拟网络编辑器的还原默认设置期望有奇迹发生。
结果悲剧的是所有虚拟机的IP地址都变了,也包括装有gitlab和Nexus的那台虚拟机。
问题诱发
因为ip变了,导致我gitlab里的项目SSH链接里的ip还是旧地址,与虚拟机的IP对不上号,而我gitlab又是用docker来安装的,所有找了一波网上的资料寻找把项目ssh链接地址中的ip改成主机的新地址。
改ip步骤一
因为做了文件夹映射
所以进入/usr/local/docker/gitlab/config
里修改gitlab.rb
一开始是看着博客园一位老哥的教程做的(结果坑就是在这里!!!)
最初我是这样改的,external_url
后加上自己的IP
改ip步骤二
修改/usr/local/docker/gitlab/data/gitlab-rails/etc/
里的gitlab.yml
把host改成主机的新ip
把email_from也改成新IP
保存配置,重启docker。进入gitlab的web界面,发现所有项目的ssh链接里的IP都变成新的IP了。(正好当时是中午,没走剩下测试的步骤就回宿舍睡个快乐的午觉先了)
出现bug
下午回到科协开始按流程走开始走持续集成化,一系列的配置环境文件都写好后提交到gitlab开始跑。一般环境大改后跑起来都不会很通顺,果然让我遇到了一个大问题
Running with gitlab-runner 11.0.2 (1db57d4a)
on de5d92d5c7b1 ca83a7ef
Using Shell executor...
Running on de5d92d5c7b1...
Fetching changes...
HEAD is now at 35959b2 update
fatal: unable to access 'http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@192.168.37.129/itoken/
itoken-config.git/': Failed to connect to 192.168.37.129 port 80: Connection refused
ERROR: Job failed: exit status 1
网上找了好多方法,发现原因是Connection refused
很少,一直尝试了好多方法,甚至想重新安装一个新的gitlab了。不过通过观察错误,它是我80端口被拒绝了,可是我的gitlab对外映射的端口应该是8080才对的,而一般访问80端口都是默认是IP地址,经过不断思考我觉得应该是步骤一那里出了问题。因为那里我确实按照博客园老哥的教程只写了个ip,或许人家老哥默认gitlab的端口就是80。
抱着试一试的心里我又回到了修改IP的步骤一,把IP改成了IP:8080(我docker默认gitlab的映射端口)。
然后终于成功的往下跑了下去