DevOps(二十)

1、DevOps
DevOps是Development和Operations两个词的缩写,它涵盖开发、测试、运维的整个过程,简言为自动化部署。

在这里插入图片描述
2、Git/GitLab
Git是一个版本控制系统,GitLab是一个远程的Git仓库,GitLab与GitHub及国内的码云类似,用户在GitLab上注 册账号,上传项目到GitLab,通过GitLab对项目进行版本控制。通常企业使用GitLab在局域网搭建自己的Git代码 管理仓库,不过随着云计算的发展,很多企业也开始使用提供Git仓库管理公共服务的平台,比如:码云、GitHub 等。
Git在IDEA中的配置;
从GitLab检出项目;
提交代码到GitLab;

3、Docker
基于微服务架构的软件在 生产部署时遇到了这样的挑战:
1、微服务的开发语言、操作系统、依赖库等环境配置不同,如何快速安装、迁移、配置软件?
2、一个软件由若干微服务组成,如何快速批量部署微服务?
3、如何有效的利于计算机资源?
设想:在一台计算机安装多个微服务,使用一种技术将微服务打包、复制部署,并且微服务之间隔离互不影响。
Docker可以运行MAC、Windows、Centos、DEBIAN、UBUNTU等操作系统上,提供社区版和企业版。
部署流程:
1、在pom文件中添加maven的打包插件代码:

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
	</plugins>
</build>

2、在IDEA执行clear package打包命令进行打包
3、创建镜像
将上一步的jar包拷贝到Linux服务器,准备创建镜像。
测试jar包是否可以运行,执行:java -jar xc-govern-center-1.0-SNAPSHOT.jar
在xc-govern-center-1.0-SNAPSHOT.jar 位置编写Dockerfile文件

FROM java:8 
ENV ARTIFACTID xc‐govern‐center 
ENV ARTIFACTVERSION 1.0‐SNAPSHOT 
ENV HOME_PATH /home 
WORKDIR $HOME_PATH 
ADD /$ARTIFACTID‐$ARTIFACTVERSION.jar $HOME_PATH/$ARTIFACTID.jar 
ENTRYPOINT ["java", "‐jar", "xc‐govern‐center.jar"]

在Dockerfile文件所在目录执行:docker build -t xc-govern-center:1.0-SNAPSHOT .
镜像创建成功,查询镜像
创建容器
基于xc-govern-center:1.0-SNAPSHOT镜像创建容器,容器名称为xc-govern-center-test

docker create ‐‐name xc‐govern‐center‐test ‐t ‐p 50101:50101 ‐e 
PORT=50101 ‐e EUREKA_SERVER=http://192.168.101.64:50101/eureka/,http://192.168.101.64:50102/eureka/ xc‐ govern‐center:1.0‐SNAPSHOT

容器创建成功,可通过docker ps -a命令查看
启动容器
docker start xc-govern-center-test 容器启动完成可以通过docker ps 查询正在运行中的容器。
停止与删除
1、停止正在运行的容器
docker stop 容器名
例如:docker stop xc-govern-center-test
2、删除容器
docker rm 容器名
例如:docker rm xc-govern-center-test
3、删除镜像
docker rmi 镜像名或镜像Id
例如:docker rmi xc-govern-center:1.0-SNAPSHOT
maven构建镜像
上边构建的过程是通过手工一步一步完成,maven提供docker-maven-plugin插件可完成从打包到构建镜像、构建 容器等过程。
1、编写pom_docker.xml
2、将Dockerfile文件拷贝到src/main/resource下
3、删除之前创建的xc-govern-center镜像
4、进入工程根目录(pom_docker.xml所在目录)执行

mvn ‐f pom_docker.xml clean package ‐DskipTests docker:build

创建镜像成功,结果如下:
在这里插入图片描述
持续集成
持续集成的思想是每天要多次将代码合并到主干,并进行集成、测 试,这样就可以提早发现错误,进行修正。持续集成也属于DevOps。
持续集成的好处:
1、自动化集成部署,提高了集成效率。
2、更快的修复问题。
3、更快的进行交付。
4、提高了产品质量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章