同时利用gitlab,Nexus,registry
思路:
windows:
首先克隆一个gitlab仓库 git clone xxx
将自己写好的代码(源码)push到仓库中 git push xx
linux
部署数据库:
新的服务器
利用docker-compose 部署独立的数据库
一般会用独立的服务器专门装数据库。测试的话,可以直接重新启动一个docker容器也是可以的
打包项目镜像到registry:
新的服务器
克隆gitlab代码
打包代码 mvn clean package (需要下载maven java(maven依赖java)) ,此时Nexus 和 本地的厂库同时下载了项目依赖的jar包
如果后来代码有修改的地方,重新pull 在重新打包
打包镜像,上传到 registry
利用Dockerfile创建镜像(myshop.tar.gz 就是将target中项目文件中META-INF,static,WEB-INF)
FROM tomcat
WORKDIR /usr/local/tomcat/webapps/ROOT
RUN rm -rf *
ADD myshop.tar.gz /usr/local/tomcat/webapps/ROOT
RUN rm -rf myshop.tar.gz
WORKDIR /usr/local/tomcat
构建镜像:docker build -t ip:端口/myshop (私服的ip和端口,这就在push的时候不需要在tag标签了)
docker push ip:端口/myshop (注意:ip:端口/myshop 是一起的,他们就是一个镜像名字)
下载registry中项目镜像运行
新的服务器
注意如果没有配置registry客户端,先配置一下
直接用docker-compose部署项目
version: '3'
services:
myshop:
restart: always
image: ip:端口/myshop
container_name: myshop
ports:
- 8080:8080