为什么要搭建Gitlab,Nexus,Harbor私服
代码、jar包、镜像,不想上传到公共Gitlab,Nexus,Harbor,而又想使用Gitlab,Nexus,Harbor平台强大的功能
搭建虚拟机
基于ubuntu 18.04,Virtual Box6.0
proxy address为空
镜像地址配置
http://mirrors.aliyun.com/ubuntu
使用LVM,支持磁盘扩容。如果虚拟机磁盘满了,可以扩容。
发现 lv逻辑卷只有4G,改为最大值,左边有提示的
continue继续
前面三个自定义,密码设置为123456
openssh服务必须装,使用空格键,出现[X]时,表示安装openssh服务
安装到第12步时,系统已经安装完成。选择放弃更新,直接重启
使用ubuntu/123456登录
修改允许root用户登录
# 设置root用户密码
sudo passwd root
123456
123456
123456
#切换到root
su root
123456
#修改ssh配置,允许root用户登录
vi /etc/ssh/sshd_config
# PermitRootLogin修改为yes
PermitRootLogin yes
#重启ssh服务
/etc/init.d/ssh restart
exit命令 退出ubuntu用户,使用root/123456登录成功
可以使用
df -h
查看逻辑卷lv 是否为之前设置的24G,否则后续磁盘不够用
查看ip地址,发现是192.168.1.10,子网掩码24个1,即11111111 11111111 11111111 00000000,即255.255.255.0
使用终端工具,登录ok
至此,虚拟机搭建完成
2点半,我睡了
部署Docker,Dockerfile,docker-compose
部署Gitlab
作用:
托管代码
部署Nexus
作用:
1.及时maven deploy -Dmaven.test.skip=true你本地的SNAPSHOT版本,便于其他开发人员,基于maven GAV坐标,就能获取到你的最新代码,集成开发
2.maven中央仓库不存在的库,可以upload到私服
部署Harbor
作用:
Docker镜像的客户端,用于存储,pull,push镜像
Dockerfile定制镜像
作用:
定制镜像
做法:
一般是FROM tomcat,把我们web工程.zip打入tomcat,再构建镜像
docker build -t image:tag .
docker-compose编排镜像
作用:
和其他服务做编排,例如web工程一般都需要依赖mysql
做法:
docker-compose.yml定义两个service,一是上一步定制的镜像,二是mysql镜像
守护态启动
docker-compose up -d
停止
docker-compose down
查看日志
docker-compose logs -f
push定制镜像到Harbor
push image:tag
从Harbor pull定制镜像到本地,实现一次构建,到处运行
pull image:tag