20、DevOps

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

1、DevOps

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

2、Git/GitLab

Git是一个版本控制系统,GitLab是一个远程的Git仓库,GitLab与GitHub和国内的码云类似,用户在GitLab上注 册账号,上传项目到GitLab,通过GitLab对项目进行版本控制。通常企业使用GitLab在局域网搭建自己的Git代码管理仓库,不过随着云计算的发展,很多企业也开始使用提供Git仓库管理公共服务的平台,比如:码云和GitHub等


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、提高了产品质量


目录
相关文章
|
7月前
|
安全 Devops 测试技术
DevOps 那些事儿
DevOps 那些事儿
DevOps 那些事儿
|
7月前
|
运维 监控 Devops
DevOps 的应用
DevOps 的应用
|
运维 监控 Devops
【devops】一、DevOps介绍
【devops】一、DevOps介绍
131 0
|
运维 Devops Docker
什么是DevOps?
DevOps 一词的来自于 Development 和 Operations 的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。DevOps 其实包含了三个部分:开发、测试和运维。换句话 DevOps 希望做到的是软件产品交付过程中IT工具链的打通,使得各个团队减少时间损耗,更加高效地协同工作。
639 0
什么是DevOps?
|
5月前
|
运维 监控 Devops
DevOps
【7月更文挑战第25天】
84 2
|
机器学习/深度学习 人工智能 运维
DevOps 的未来
DevOps 的未来
123 0
DevOps 的未来
|
运维 监控 Kubernetes
DevOps是什么
DevOps是什么
160 0
DevOps是什么
|
运维 监控 安全
【DevOps】DevOps 初探
【DevOps】DevOps 初探
133 0
【DevOps】DevOps 初探
|
运维 Devops
DevOps到底是什么
DevOps到底是什么
145 0
|
Devops
DevOps是什么呢?
DevOps是什么呢?
133 0