项目管理(PM):Jira、Asana、Taiga、Trello、Basecamp、Pivotal Tracker
2.1. 安装和使用Git/GitLab 概述
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镜像
我们专门整理了上百道【运维技术栈面试题】,成为您运维面试路上的好助手。这样,你就可以毫无惊慌地参加面试并获得高薪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和Raid1raid5这两种工作模式的工作原理和特点。
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如何减少主从复制延迟?
面试题和内容丰富,含量高**
174道运维工程师面试题
1.什么是运维?
2、运维人员在工作场所经常需要与操作人员进行交互。运营人员做什么工作?
3. 您目前有300台服务器,您如何管理它们?
4. 简要说明RAID0和Raid1raid5这两种工作模式的工作原理和特点。
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/92002.html