DevOps运维开发一体化,devops自动化运维平台

DevOps运维开发一体化
2.1.1.介绍
Git是一个版本控制系统,GitLab是一个远程的Git仓库,GitLab与GitHub及国内的码云类似,用户在GitLab上注册账号&#xff0c

2.1.1.介绍

Git是一个版本控制系统,GitLab类似于GitHub或者国家码云:你在GitLab注册一个账户,将你的项目上传到GitLab,通过GitLab对你的项目进行版本控制。

2.1.2.安装 Git及GitLab

查询user.age和uesr.sex

git 配置用户年龄

git config user.sex

环境:

git config –global user.age“itcast”

git config –global user.sex\’baidaguo@baidaguo.cn\’

2.1.3.在GitLab创建项目

转到主页并单击“新建项目”。

输入并提交相应信息后,您可以访问项目主页并获取您项目的Git项目仓库地址。

2.1.4.使用Git管理項目(Idea继承Git并对项目进行管理)

2.1.5.从GitLab检出项目

2.1.6.提交代码到GitLab

提交到暂存区-确认无误-推送

如果你用过svn你就会明白,但总体来说并不是那么困难。

2.2. 码头工人

概述我就不多说了,不过如果你不清楚的话可以看看:

百度百科(百度百科Docker)引用

Docker源码托管在Github上,基于Go语言开源,兼容Apache2.0协议。

官网:docker官网

2.2.1.组成

1.Docker守护进程:

Docker守护进程部署在操作系统中,负责支持Docker容器操作和管理本地镜像。

2.Docker客户端:

用户不直接与Docker 守护进程交互。 Docker 客户端提供pull、run 等操作命令。

3. Docker 镜像:

Docker 镜像是只读模板。

例如,一个镜像可以包含一个完整的ubuntu操作系统环境。这仅安装Tomcat 或用户需要的其他应用程序。

您可以使用镜像来创建Docker 容器。

Docker 提供了一种非常简单的机制来创建镜像和更新现有镜像,并且还允许用户从其他用户处下载预构建的镜像并直接使用它们。

4.Docker容器:

Docker 使用容器来运行应用程序。容器正在运行从映像创建的实例。它可以启动、启动、停止和删除。每个容器都是一个隔离且安全的平台。例如,图像相当于类,容器相当于对象。

5.Docker注册表:

Docker仓库分为两种:公共仓库和私有仓库。

最大的公共存储库是Docker Hub,它存储了许多用户可以下载的镜像。

用户还可以在其本地网络内创建私有存储库。

用户创建自己的镜像后,可以使用push命令将其上传到公共或私有存储库,这样下次他们想在另一台机器上使用该镜像时,只需从存储库中拉取它即可。

2.2.2.部署微服务到Docker

1.安装

升涛7:

直接通过yum安装:yum install -y docker

启动Docker:启动Docker 服务

docker 版本:查询docker 版本

升涛6:

rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum install -y docker-io yum install -y docker-io

启动服务docker

2. 部署

1.项目最终打包成Jar包

2. 创建Docker镜像

3.创建容器

4.启动容器

3.打包(省略,大家都知道怎么做)

4. 创建镜像

在上一步中,将jar包复制到您的Linux服务器上,首先测试该jar包是否可以运行:java -jar test-1.0-SNAPSHOT.jar。

将Dockerfile 文件写入test-1.0-SNAPSHOT.jar 位置。

来自java:8

ENV 伪影测试

ENV 工件版本1.0 – 快照

ENV HOME_PATH /主页

工作目录$HOME_PATH

添加/

A

时间

F

A

C

时间

D

人工制品-

ARTIFACTIDARTIFACTVERSION.jar

H

中号

A

时间

H

/

主页路径/

HomePath/ARTIFACTID.jar

ENTRYPOINT [“java”,“-jar”,“test.jar”]

在Dockerfile文件所在目录运行:docker build -t test:1.0-SNAPSHOT.jar

图像创建成功。查询图片。

[root@localhost xc-government-center]# docker 镜像

存储库标签图像ID 创建大小

测试1.0-SNAPSHOT ad14dcce6666 35 秒前684 MB

5. 创建容器

基于test:1.0-SNAPSHOT镜像创建容器。容器名称是test-demo。

docker create –name test-demo -t -p 50101:50101 -e PORT=50101 -e EUREKA_SERVER=http://192.168.101.64:50101/eureka/,http://192.168.101.64:50102/eureka/01.0 -快照

创建成功后,可以使用docker ps -a 命令查看。

6.启动容器

docker启动测试demo

7. 暂停和删除

1.停止正在运行的容器

docker stop 容器名称

示例:docker stop 测试演示

2.删除容器

docker rm 容器名称

示例:docker rm 测试演示

3.删除图像

docker rmi 镜像名称或镜像ID

示例:docker rmi test:1.0-SNAPSHOT

8.maven构建镜像

编写a.pom_docker.xml

b. 将Dockerfile 文件复制到src/main/resource。

c. 删除您之前创建的xc-govern-center 映像。

d、进入项目根目录(pom_docker.xml所在目录),运行:mvn -f pom_docker.xml clean package -DskipTests docker:build。

镜像创建成功,结果如下:

64682c9ba311 构建成功

[信息] xc-govern-center:1.0-SNAPSHOT 已构建

[信息] 标记xc-govern-center:1.0-SNAPSHOT 和1.0-SNAPSHOT

[信息] – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – —

[信息] 构建成功

[信息] – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – —

[信息] 总时间: 7.409 秒

[信息] 结束于: 2018-07-19T14:21:16+08:00

[信息]最终内存: 52M/414M

[信息] – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – —

2.3. 持续集成

问题描述:

传统的软件开发流程是:

1.项目经理将模块分配给开发人员。

2. 每个模块的开发人员并行开发和运行单元测试

3. 开发完成后,将代码集成并部署到测试服务器以供测试人员测试。

4.测试人员发现Bug,提交Bug,开发人员修复Bug。

5、修复bug后,再次集成测试。

问题描述:

1. 模块之间依赖关系复杂,集成过程中发现bug较多。

2.测试人员等待测试时间太长

3. 无法保证软件交付

解决上述问题的思路:

1.我可以加快集成测试速度吗?

2. 是否可以使用自动化工具来替代手动集成和部署流程?

持续集成的思想是每天多次将代码合并到主干中,集成它,并测试它,以便尽早发现并修复错误。持久集成也属于DevOps

优势:

1、自动化集成部署,提高集成效率。

2. 更快地解决问题。

3. 交付速度更快。

4、提高产品质量。

1.这里是测试项目集成过程:

2.环境设置

a.安装Jenkins官网地址:Jenkins官网

具体的安装文档可在线获取。您也可以在不向博主发送私人消息的情况下执行此操作。

b. 安装GitLab(见上文)

聚甲醛

与项目原来的pom.xml相比,该文件添加了docker-maven-plugin插件。它的作用是构建一个Docker镜像,并将该镜像推送到Docker私有仓库(192.168.101.64:5000)。

2.4. 创建持续集成任务

1.Jenkins构建任务

2.设置git仓库

配置git 凭据

这些凭据用于从Git 存储库远程克隆项目的源代码。

输入你的git仓库账号和密码。如果您使用码云,您必须设置码云账号和密码:

b.设置git仓库地址,即项目将要构建的地址。

3.maven构建

1. 使用shell脚本停止容器、移除容器、移除镜像。

远程登录192.168.101.64(测试服务器)

停止测试中心容器

删除测试中心容器

删除192.168.101.64:5000/test-center:1.0-SNAPSHOT镜像

这是shell 脚本:

#!/bin/bash

结果=$(docker ps | grep“192.168.101.64:5000/xc-government-center”)

if [[ “$结果” !=“” ]]

在那之后

echo \”停止xc-政府中心\”

docker stop xc-政府中心

result1=$(docker ps -a | grep “192.168.101.64:5000/xc-government-center”)

if [[ “$result1” !=“” ]]

在那之后

echo \”rm xc-政府中心\”

docker rm xc-govern-center docker rm xc-govern-center

result2=$(docker image | grep “192.168.101.64:5000/xc-government-center”)

if [[ “$result2” !=“” ]]

在那之后

回显“192.168.101.64:5000/xc-government-center:1.0-SNAPSHOT”

docker rmi 192.168.101.64:5000/xc-govern-center:1.0-SNAPSHOT

2. 运行Maven构建

运行以下Maven 指令。

清理包-f test-center/pom_docker_registry.xml -DskipTests docker:build

3.拉取镜像,创建容器,启动容器

从Docker私有仓库拉取镜像,创建容器,并启动容器

查看容器执行日志

docker run –name test -p 50101:50101 -idt 192.168.101.64:5000/test:1.0-SNAPSHOT

docker log -f 测试

我们整理了上百道【运维技术栈面试题】,成为您运维面试路上的好助手。这样,你就可以安心参加面试并获得高薪offer。

这些面试题涵盖了从Shell、MySQL到K8s等云原生技术栈,适合运维行业新人以及运维行业新人的面试需求。升职或换工作以增加薪水。

本次访谈集内容为

174 运维工程师面试题128 k8s 面试题108 shell 脚本面试题200 Linux 面试题51 Docker 面试题35 Jenkis 面试题78 MongoDB 面试题17 ansible 面试题60 dubbo 面试题53 Kafka 面试题18 mysql 面试题40 nginx 面试题77 redis 面试题Zookeeper 题28

总共1000多道面试题,内容全面且有价值。

174道运维工程师面试题

1.什么是运维?

2、运维人员在工作场所经常需要与操作人员进行交互。运营人员做什么工作?

3. 给定300台服务器,如何管理它们?

4、我们简单解释一下raid0、raid1和raid5这两种运行模式的运行原理和特点。

5、LVS、Nginx、HAproxy有什么区别,工作中如何选择?

6. Squid、Varinsh、Nginx 有什么区别,你在工作中如何选择?

7.Tomcat和Resin有什么区别?

8.什么是中间件?

9. Tomcat 的三个端口8005、8009、8080 是什么意思?

10.什么是CDN?

11.什么是网站灰度发布?

12、请简单说明一下DNS域名解析的过程。

13.什么是RabbitMQ?

14.Keepalived如何工作?

15.描述LVS工作流程的三种模式。

16、mysql的innodb如何识别锁定问题以及mysql如何减少主从复制延迟?

40道nginx面试题,77道redis面试题,28道zookeeper面试题

总共1000多道面试题,内容全面且有价值。

174 道运营工程师面试问题

1.什么是运维?

2、运维人员在工作场所经常需要与操作人员进行交互。运营人员做什么工作?

3. 给定300台服务器,如何管理它们?

4、我们简单解释一下raid0、raid1和raid5这两种运行模式的运行原理和特点。

5、LVS、Nginx、HAproxy有什么区别,工作中如何选择?

6. Squid、Varinsh、Nginx 有什么区别,你在工作中如何选择?

7.Tomcat和Resin有什么区别?

8.什么是中间件?

9. Tomcat 的三个端口8005、8009、8080 是什么意思?

10.什么是CDN?

11.什么是网站灰度发布?

12、请简单说明一下DNS域名解析的过程。

13.什么是RabbitMQ?

14.Keepalived如何工作?

15.描述LVS工作流程的三种模式。

16、mysql的innodb如何识别锁定问题以及mysql如何减少主从复制延迟?

17.如何重置mysql root密码?

以上#DevOps运维开发集成内容来源仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91243.html

Like (0)
CSDN的头像CSDN
Previous 2024年6月21日
Next 2024年6月21日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注