一、安装docker-ce和docker-compose 前提已经安装过docker
二、下载Harbor安装包
# 原下载命令,到github上下载,下载速度比较慢
wget https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.6.0.tgz
# 使用代理站点下载,下载速度快
wget https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.6.0.tgz
三、配置和安装Harbor
1.解压下载到Harbor安装包
# 解压到/opt/目录下,此命令需要在harbor压缩包目录下执行
# 命令执行完毕后,/opt/目录下,会存在harbor文件夹
tar -vxf harbor-offline-installer-v2.5.3.tgz -C /opt/
2.生成证书
# 进入harbor文件夹
cd /opt/harbor/
# 生成证书
openssl genrsa -out ca.key 4096
# 下面命令需要填写自己的域名或者IP,本人使用本机IP
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=填写域名或者IP" \
-key ca.key \
-out ca.crt
# 示例仅供参考,请根据电脑实际IP自行填写
openssl req -x509 -new -nodes -sha512 -days 3650 \
-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=127.0.0.1" \
-key ca.key \
-out ca.crt
3.移动证书位置
# 创建/data/cert/
mkdir /data/cert/
# 把证书(ca.crt、ca.key)位置移到/data/cert/目录下
mv ca* /data/cert/
4.修改Harbor配置
# 进入harbor文件夹
cd /opt/harbor/
# 将配置文件复制一份
cp harbor.yml.tmpl harbor.yml
# 修改配置文件内容
vi harbor.yml
修改为:
四、生成配置文件
# 在harbor目录下执行
./prepare
五、安装Harbor
# 在harbor目录下执行
./install.sh
六、访问Harbor控制端
浏览器输入:https://配置的IP或者域名:8443/
注意:此步骤如果不通,请查看自己设置的端口防火墙是否开启
默认用户名:admin
默认密码:Harbor12345
Docker登录Harbor异常处理
1.Error response from daemon: Get “https://IP/v2/”: x509: certificate relies on legacy Common Name field, use SANs instead
原因:自生成的证书被Docker认为不可靠的
解决:把自生成的证书放入Docker配置文件中
# 在docker配置文件中建立自己IP或域名的文件夹
mkdir /etc/docker/cert.d/IP(或者域名)
# 示例
mkdir /etc/docker/cert.d/127.0.0.1
# 将证书复制进入
cp /data/cert/ca.crt /etc/docker/cert.d/127.0.0.1/
# 重启docker
systemctl restart docker
2.Error response from daemon: Get “https://IP/v2/”: dial tcp IP:8443: connect: connection refused
原因:Docker拒绝不安全连接
解决:将自己的IP或域名加入Docker允许的不安全连接中
# 创建docker配置文件,加入配置
touch /etc/docker/daemon.json
# 编辑文件
vi /etc/docker/daemon.json
# 加入如下配置
{
"insecure-registries" : ["IP或域名:端口"]
}
示例:该连接端口为https端口
{
"insecure-registries" : ["127.0.0.1:8443"]
}
# 重启Docker
systemctl restart docker
# 注意此时重启了docker,但是harbor不一定会成功重启,需要手动重启harbor
# 先进入自己的harbor目录
cd /opt/harbor
# 停止harbor
docker-compose down -v
# 重启harbor
docker-compose up -d
centos 搭建gitlab
安装ssh
1、安装ssh
sudo yum install -y curl policycoreutils-pythonopenssh-server
2、将SSH服务设置开机自启动
sudo systemctl enable sshd
3、启动SSH
sudo systemctl start sshd
SSH服务有的服务器会自动携带,虚拟机可能需要安装,视情况而定。
关闭防火墙
1、可以将服务添加防火墙通过 --permanent 设定永久。
sudo firewall-cmd --permanent --add-service=http
2、重新启动防火墙
sudo systemctl reload firewalld
3、可以直接关闭防火墙(直接此步骤)
systemctl status firewalld.service #查看防火墙状态
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止开机启动
安装邮件通知
1、安装Postfix
sudo yum install postfix
2、设置开机启动
sudo systemctl enable postfix
3、启动postfix
sudo systemctl start postfix
安装wget命令
1、查看是否安装wget
wget -v
2、安装wget
yum -y install wget
二、安装gitlab服务器
1、添加gitlab镜像
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
2、安装gitlab
rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
3、修改gitlab配置文件,指定服务器ip和端口
vim /etc/gitlab/gitlab.rb
找到:
external_url ‘ip:端口’
这里gitlab 默认端口80. 如果修改为其他端口,需要在机器上打开该端口权限 (比如设置2602端口)
systemctl status firewalld
查看是否开放端口2602
firewall-cmd --list-ports
没有开放,则加入
firewall-cmd --permanent --zone=public --add-port=2602/tcp
重启防火墙
systemctl reload firewalld
访问ip:8989
4、启动gitlab
gitlab-ctl reconfigure
gitlab-ctl restart
在卸载gitlab然后再次安装执行sudo gitlab-ctl reconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,会一直卡无法往下进行!
解决方案1: 新开启一个窗口运行:sudo systemctl restart gitlab-runsvdir;
解决方案2: 1、按住CTRL+C强制结束; 2、运行:sudo systemctl restart gitlab-runsvdir;
3、再次执行:sudo gitlab-ctl reconfigure
三、访问gitlab
输入ip+端口号 访问部署gitlab服务,第一次登陆用户名root,密码在文件中查看
/etc/gitlab/initial_root_password
登陆成功后会提示修改密码,如果没有提示,请到admin菜单进行修改。