赞
踩
本篇展示两个微服务,一个微服务含数据库,一个不含数据库。
详见:gitee具体文件目录
为后续Dockerfile和docker-compose.yml使用
.
service1:
FROM java:8
COPY ./docker01-0.0.1-SNAPSHOT.jar /app.jar
EXPOSE 6001
ENTRYPOINT ["java","-jar","/app.jar"]
service2类似。
.
version: '3' services: service1: # 微服务名 #image: xxx # 若build和image共存,则将Dockerfile构建的镜像名指定为xxx build: context: ./Dockerfile/service1 # 构建Dockerfile路径 dockerfile: Dockerfile # Dockerfile名 container_name: service1 # 不指定默认 当前路径_服务名_服务数量,数量对应(scale) ports: - "6001:6001" depends_on: - "service1_mysql" # 依赖服务 service2: build: context: ./Dockerfile/service2 dockerfile: Dockerfile container_name: service2 ports: - "6002:6002" service1_mysql: image: mysql:5.7 container_name: service1_mysql ports: - "3307:3306" volumes: - /home/testCompose/mydata/mysql/log:/var/log/mysql - /home/testCompose/mydata/mysql/data:/var/lib/mysql - /home/testCompose/mydata/mysql/conf:/etc/mysql environment: MYSQL_ROOT_PASSWORD: "root"
正常执行以下命令就可以容器编排了,但是这次演示的是CI/CD:
1.docker-compose build
2.docker-compose up
.
docker run -d --name jenkins -p 8099:8080 -v /opt/data/jenkins_home:/var/jenkins_home jenkins/jenkins
初始默认安装插件就行
1.maven (打包文件)
2.Publish over ssh (发文件)
3.Gitee (托管代码,jenkins监听)
由于不知啥情况,个人下载maven用不了,自己在本机下的maven拖进去的。
.
.
注意:其中gitee给Jenkins发消息,需要能联通网络,如果是内网,注意使用内网穿透。
.
构建四流程
1.提交代码到gitee,自动拉取code √
2.jenkins容器使用maven打包项目获得新jar包 √
3.发送新jar包和Dockerfile以及docker-compose到宿主机 √
4.宿主机执行docker-compose.yml √
webhook自动完成。
.
.
。
。
之后只要提交gitee代码,就可以自动部署了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。