前期准备
- 拥有自己的云服务(部署到本地的话不需要云服务器,云服务器不能太小,本人是两核四G),并掌握一定的linux基础
- 云服务器操作相关软件(如:FinalShell)
一、安装和配置docker
- 安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
设置阿里云镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装 Docker-CE ,请执行一下命令进行安装:
sudo yum install docker-ce
- 启动 Docker-CE
sudo systemctl enable docker
sudo systemctl start docker
- 建立 Docker 用户组
sudo groupadd docker
- 添加当前用户到 docker 组
sudo usermod -aG docker $USER
- 配置镜像加速并重启docker
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- 拉取微软在 Docker 上的 aspnetcore 镜像(过程中一路y)
docker pull microsoft/aspnetcore
- 查看是否拉取成功
docker images
二、添加 Portainer 控制面板
- 先去阿里云服务器的安全组规则中添加对应的端口规则(此次采用9000端口)
- 安装并配置Portainer
docker volume create portainer_data
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
- 访问本人ip+9000端口,打开Portainer界面
三、添加gitlab
此时可以在FinalShell中通过linux命令去添加,也可以通过Portainer 控制面板去添加
- 同样的先去阿里云服务器的安全组规则中添加对应的端口规则(此次采用9022、9080、9443端口)
- 点击Portainer中APP Templates中Gitlab CE的update
- 配置如下等关键内容(本人在此主要修改了端口号相关配置,其他配置根据初始化自行调整)
-
配置成功以后,在控制面板中重新启动,稍等片刻后再访问ip+9080(根据自己端口自行修改)即可打开gielab首页(本人在访问时曾遇到过出现502页面的问题,查询的问题有提示端口冲突和服务器资源过小的原因,也可能个人重启时访问太早的原因,多等一会就好了)
-
在FinalShell中通过linux命令去添加的对应关键代码(如果通过Portainer添加后,则不需要这一步)
docker run -d \
-p 9443:443 \
-p 9080:80 \
-p 9022:22 \
--name dzp_gitlab \ // 命名
--restart always \ // 总是重新启动
--hostname 120.26.75.xxx \ // 此处是自己的ip地址
-v /home/gitlab/config:/etc/gitlab:Z \
-v /home/gitlab/logs:/var/log/gitlab:Z \
-v /home/gitlab/data:/var/opt/gitlab:Z \
gitlab/gitlab-ce
- 通过ip+9080访问到的页面如下所示:
- 此时第一次访问时,以往是初始化管理员密码的页面,但是此处直接就是登录页面,一直以为我初始化的有问题,为此我卸载又重新初始化了一次,依旧如此,最终在其他地方找到了答案:管理员的账号和密码会在初始化的时候生成在服务器
/home/gitlab/config/initial_root_password
文件中,管理员账号为:root,密码如下如所示:(有24小时的有效期,在登录以后记得修改密码)
至此,gitlab添加算是完成了
追加:
- 由于我所使用端口为非默认端口80,因此会导致克隆地址没有端口号问题,因此需要添加端口号配置并重启gitlab;若不重新配置的话,可以在clone的地址中单个添加也可。
- 后续出现gitlab-ctl 不存在以及git push提交不上去的问题,针对这两个问题,此处参考链接找的解决方案是重新安装gitlab,但是重新借助
docker命令
安装gitlab以后,本人服务器上gitlab_ctl依旧不存在,且无gitlab_ctl对应文件;但是git push能够推送代码上去了;(gitlab_ctl不存在,个人猜测是服务器内存才4G太小有一定的影响) 上服务器占用情况图示: