学成在线(第20天)DevOps桃花换了酒钱

DevOps是一种方法或理念,它涵盖开发、测试、运维的整个过程。DevOps是提高软件开发、测试、运维、运营等各部门的沟通与协作质量的方法和过程,DevOps强调软件开发人员与软件测试、软件运维、质量保障(QA)部门之间有效的沟通与协作,强调通过自动化的方法去管理软件变更、软件集成,使软件从构建到测试、发布更加快捷、可靠,最终按时交付软件。

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

在Linux服务器上安装GitLab,首先先安装docker

查看centos系统内核版本uname-r内核版本>=3.1

升级软件包及内核

yumupdate在Centos7上安装Docker

yuminstall-ydocker启动,开机启动

dockersystemctlstartdockerdockersystemctlenabledocker若docker拉取镜像超时,配置一下国内镜像路径

可以通过修改daemon配置文件

vi/etc/docker/daemon.json添加

接着拉取gitlab、redis、postgresql,gitlab依赖redis和postgresql。

dockerpullsameersbn/redisdockerpullsameersbn/postgresqldockerpullbeginor/gitlab-ce:11.0.1-ce.0创建postgresql、redis容器:

dockerrun--nameredis-d-p6379:6379sameersbn/redisdockerrun--namepostgresql-d-p5432:5432sameersbn/postgresql创建GitLab的配置(etc)、日志(log)、数据(data)放到容器之外,便于日后升级,因此我们先准备这三个目录。

mkdir-p/mnt/gitlab/etcmkdir-p/mnt/gitlab/logmkdir-p/mnt/gitlab/data创建gitlab容器:

dockerrun--detach--hostname192.168.183.133-p10022:22-p8899:80--namegitlab--restartunless-stopped-v/mnt/gitlab/etc:/etc/gitlab-v/mnt/gitlab/log:/var/log/gitlab-v/mnt/gitlab/data:/var/opt/gitlabgitlab/gitlab-ce:11.5.4-ce.0可以看到镜像都启动了

无语,访问不了,明明启动了。我这里卡了好久,反复尝试。我看别人都行,最后我选择github好了。

点击“NewProject”创建新项目

输入项目信息,提交。项目新建成功,进入项目主页,通过项目主页即可访问项目内容,并得到项目的Git项目仓库地址:

在开发电脑安装Git,并在Idea中设置Git

打开idea,按下图菜单指示从GitLab克隆项目:

输入项目的Git仓库地址进行克隆:

1、在工程根目录创建.gitignore此文件中记录了在提交代码时哪些文件或目录被忽略

.idea/target/*.iml2、提交代码

首先执行添加文件到暂存区:

再执行commit提交文件到本地仓库

最终代码确认无误可以提交到远程仓库

虚拟化技术是对软件基础设施、操作系统、软件等IT资源进行有效的管理,使用户不再受物理资源的限制,提高计算机资源的利用率。虚拟化技术是云计算的基础,例如阿里云的云主机、腾讯云等都应用了虚拟化技术。虚拟化技术整体上包括两个方面:硬件虚拟化和软件虚拟化,具体分为:网络虚拟化、存储虚拟化、桌面虚拟化、服务器虚拟化等,我们平常说的最多的是服务器虚拟化。服务器虚拟化就是在同一个物理服务器上运行多个虚拟机,让服务器的cpu、内存、磁盘、I/O等硬件设施为每个虚拟机服务,在每个虚拟机中运行不同的软件,虚拟机之间是隔离状态。

在服务器(宿主机)上安装操作系统,并安装hypervisor虚拟机管理软件,如VMware、VirtualBox等,由hypervisor管理多个虚拟机,每个虚拟机上需要安装客户操作系统、依赖库、应用软件。

2、Containers容器化技术

容器技术中docker引擎取代了hypervisor,docker引擎是运行在住宿操作系统上的一个进程,该进程管理了多个docker容器,每个docker容器集成了应用软件、依赖库,容器之间相互隔离。

3、技术对比:资源占用:虚拟机由于是独立的操作系统,占用资源比docker多。启动速度:虚拟机包括操作系统,启动虚拟机相当于启动一个操作系统,容器则不一样,容器中只包括操作系统的内核,启动一个容器实例相当于启动一个进程,容器的启动速度比虚拟机快。体积:容器包括操作系统内核、软件及依赖库,虚拟机不仅包括软件和依赖库还将完整的操作系统打包进去,虚拟机的体积比容器大的多。

本项目微服务采用SpringBoot开发,将每个微服务工程打成Jar包,最终在Docker容器中运行jar,部署流程如下:1、SpringBoot工程最终打成Jar包2、创建Docker镜像3、创建容器4、启动容器

1、使用maven的打包插件:将下边的插件依赖拷贝到微服务工程中,本例子将学成在线的Eureka工程打包:

org.springframework.bootspring‐boot‐maven‐plugin2、maven打包在工程目录运行:mvnclearpackage或通过IDEA执行clearpackage打包命令。

打包成功,如下图:

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

FROMjava:8ENVARTIFACTIDxc‐govern‐centerENVARTIFACTVERSION1.0‐SNAPSHOTENVHOME_PATH/homeWORKDIR$HOME_PATHADD/$ARTIFACTID-$ARTIFACTVERSION.jar$HOME_PATH/$ARTIFACTID.jarENTRYPOINT["java","‐jar","xc‐govern‐center.jar"]在Dockerfile文件所在目录执行:

dockerbuild-txc-govern-center:1.0-SNAPSHOT.创建容器基于xc-govern-center:1.0-SNAPSHOT镜像创建容器,容器名称为xc-govern-center-test

2、删除容器dockerrm容器名/id

3、删除镜像dockerrmi镜像名或镜像Id

上边构建的过程是通过手工一步一步完成,maven提供docker-maven-plugin插件可完成从打包到构建镜像、构建容器等过程。

1、编写pom_docker.xml

mvn‐fpom_docker.xmlcleanpackage‐DskipTestsdocker:build创建镜像成功,结果如下:

Successfullybuilt64682c9ba311[INFO]Builtxc‐govern‐center:1.0‐SNAPSHOT[INFO]Taggingxc‐govern‐center:1.0‐SNAPSHOTwith1.0‐SNAPSHOT[INFO]‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐[INFO]BUILDSUCCESS[INFO]‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐[INFO]Totaltime:7.409s[INFO]Finishedat:2018‐07‐19T14:21:16+08:00[INFO]FinalMemory:52M/414M[INFO]‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐持续集成什么是持续集成持续集成(Continuousintegration)简称CI,持续集成的思想是每天要多次将代码合并到主干,并进行集成、测试,这样就可以提早发现错误,进行修正。持久集成也属于DevOps持续集成的好处:1、自动化集成部署,提高了集成效率。2、更快的修复问题。3、更快的进行交付。4、提高了产品质量。

微服务的镜像会上传到Docker仓库保存,常用的公网Docker仓库有阿里云,网易云等,在企业局域网也可以搭建自己的Docker私有仓库,本教程使用Docker提供的私有仓库registry。进入Docker私有仓库所在服务器执行:

1、安装Docker2、创建私有仓库容器

响应结果如下:

{"repositories":[]}上边的响应结果说明在docker私有仓库中还没有镜像。

{"insecure‐registries":["192.168.101.64:5000"]}重启docker:

systemctlrestartdocker.service启动docker-registry

⒈下载镜像,要使用最新的LTS:

dockerpulljenkins/jenkins:ltsdockerpulljenkins/jenkins⒉运行

dockerrun--namejenkins-p8889:8080-p50000:50000-vjenkins_home:/var/jenkins_home--restartalways-djenkins/jenkins:lts⒊访问Jenkins实例

dockerexecjenkinscat/var/jenkins_home/secrets/initialAdminPassword从输出结果中获得的一串Jenkins初始密码,复制密码,填入密码

3.定制Jenkins

选择默认的Installsuggestedplugins(安装推荐的插件)来安装插件。

本例子将xc-govern-center工程使用Jenkins进行构建。在xc-govern-center工程根目录编写pom_docker_registry.xml此文件相比工程原有pom.xml增加了docker-maven-plugin插件,其作用是构建docker镜像并将镜像推送到Docker私有仓库(192.168.183.133:5000)。

1、配置git凭证此凭证用于远程从git仓库克隆工程源代码输入git仓库的账号和密码,这里如果使用码云,下边需要配置码云的账号和密码。

2、配置git仓库地址,此地址即xc-edu项目的地址

目标:使用jenkins重复构建不要产生重复镜像使用jekins停止容器、删除容器、删除镜像之间进行判断

shell脚本如下:

2、执行maven构建:

执行如下maven指令:

cleanpackage‐fxc‐govern‐center/pom_docker_registry.xml‐DskipTestsdocker:build3、拉取镜像,创建容器,启动容器从docker私有仓库拉取镜像并创建容器,启动容器显示容器运行日志

dockerrun‐‐namexc‐govern‐center‐p50101:50101‐idt192.168.101.64:5000/xc‐govern‐center:1.0‐SNAPSHOTdockerlogs‐fxc‐govern‐center

THE END
1.ssm毕设慕学网在线平台源码+程序+论文本选题针对慕学网在线平台的研究具有重要的理论意义和现实实践意义。理论意义在于,通过深入分析慕学网平台的系统功能、运营模式等,可以丰富在线教育平台的相关理论,为同类平台的研究提供新的视角和思路。现实实践意义在于,通过研究发现慕学网平台的优势和不足,为平台的优化和改进提供有针对性的建议,从而提升用户的学习体https://blog.csdn.net/wuzhou103/article/details/144199217
2.在线交互学习系统工学学士毕业论文经管文库(原在线交互学习系统-工学学士毕业论文 https://bbs.pinggu.org/thread-13189213-1-1.html
3.Java项目《学成在线》Day308.修改课程优化代码本课程以在线教育业务为基础,基于当前热门的 Spring Cloud 微服务技术栈进行设计,采用Nginx、SpringBoot、Spring Cloud、MyBatis-Plus、MQ、Redis、Elasticsearch等框架和中间件为基础进行开发,带领学员体验Java大型项目从需求分析、架构设计、编码、调试、测试的整个过https://www.56.com/u28/v_MTgyMTAwNzA1.html
4.学成在线PSD素材及代码学成在线素材(PSD文件)及代码学成在线素材(PSD文件)及代码学成在线素材(PSD文件)及代码https://www.coder100.com/index/index/content/id/1116210
5.学成在线网站首页模板代码最代码 www.zuidaima.com 最全面,最专业的源代码分享网站,近万名用户分享超过数万份高质量的java/jquery/bootstrap/html/css源代码https://www.zuidaima.com/share/3992734255401984.htm
6.学成在线PSD素材及代码前端css切图练习素材包,包含4个psd文件(学成在线职业规划.psd 学成在线首页.psd 学成在线课程列表页.psd 学成在线课程介绍页.psd) 上传者:haotiku时间:2020-06-10 学成在线静态网站源代码以及素材 内含CSS代码+HTML代码+所用图片素材;代码注释简单易懂,代码结构清晰明了。 https://www.iteye.com/resource/qq_39518871-13023059
7.HTML+CSS案例学成在线首页腾讯云开发者社区代码语言:javascript 复制 <!DOCTYPE html> 学成在线 <!-- 微信start --> <!-- 微信end --> <!-- 头部start --> https://cloud.tencent.com/developer/article/1915113
8.二十三学成在线案例头部区域一、学成在线案例 整体效果图.png 二、头部区域 2.1、准备素材和工具 学成在线PSD源文件。 开发工具 = PS(切图)/ cutterman插件 + vscode(代码)+ chrome(测试)。 2.2、案例准备工作 我们本次采取结构与样式相分离思想: 1.创建study目录文件(用于存放我们这个页面的相关内容)。 https://www.jianshu.com/p/e6c5688f4265
9.java免费开源在线教育系统在线java开发学成在线项目是传智燕青老师研发的JavaEE分布式微服务架构项目,采用SpringCloud框架研发,课程共20天,应广大学员的建议现将整个项目的技术点以问题的形式进行总结,方便大家学习总结。 1 学成在线是个什么样的项目? 从两个方面进行阐述: 1)项目的功能(业务) https://blog.51cto.com/u_16099279/6735784
10.2020届计算机科学方向毕业设计(论文)阶段性汇报于收集数据方面,在APEX实验室的帮助下,获得了7千余例HDU和POJ上的源代码及其对应的标签,大大加快了课题的进展。于设计算法方面,基于目前现有的研究都依靠语法树、控制流图和数据流图进行分析的现状,初步设计了从源代码直接入手进行分类的软件。目前的F1分数约在70左右,正在试验各种修改以及优化。https://zhiyuan.sjtu.edu.cn/html/zhiyuan/announcement_view.php?id=3709
11.免费在线学习代码重构和设计模式重构是一种能够在不新增功能的情况下改善代码的可控过程。设计模式是软件设计中常见问题的典型解决方案。立即开始学习!https://www.refactoringguru.cn/
12.在线教学平台远程教育教育事业部学校信息化基于零代码低代码平台支撑,表单、模板、标签、模型、流程、规则、场景7大引擎支撑,简单配置即可生成各类业务信息化 点此立即体验 在线学习子系统 适应多种教学模式和培养计划,学分制、学时制、考核制、必修加选修,理论学习加实践实训 多种课程学习方式 兼容各种学习内容和课件类型,三分屏http://www.ccunc.com/edum/edujx.html
13.湖北工业大学2022年成人高等教育招生简章学校创建于1952年,1984年由原湖北轻工业学院和原湖北农业机械专科学校合并组建成湖北工学院,2004年更名为湖北工业大学。学校是湖北省重点建设高校,被省委省政府定位为“在湖北省高教体系中起龙头示范作用的、水平较高的骨干大学”;拥有丰富的办学层次,具有推荐优秀本科生免试攻读硕士研究生资格和博士学位授予权;2010年https://www.eol.cn/jijiao/yunxiao/1521/jianzhang/32808
14.我收藏的这100+个”杀手级“网站,你用过几个?可视化地让你理解不同字体大小的区别,rem 与 em 值。实时检查预览,还能在codepen中查看完整代码。 7、remove - 在线抠图 网址:remove 这就不用说了,在线抠图,懂的都知道~ 8、Unscreen - gif & 视频 抠图 网址:Unscreen 就像remove.bg,但用于gif和视频。 https://developer.aliyun.com/article/1248577
15.数据挖掘论文它主要对确定目标的有关信息,使用自动化和统计学等方法对信息进行预测、偏差分析和关联分析等,从而得到合理的结论。在档案管理中使用数据挖掘技术,能够充分地发挥档案管理的作用,从而达到良好的档案管理工作效果。(二)数据挖掘技术分析。数据挖掘技术分析的方法是多种多样的,其主要方法有以下几种:1.关联分析。指从已经https://www.unjs.com/lunwen/f/20220924130749_5650839.html
16.小闪电创始于2016年,专业的代码在线运行 编辑 3 0下载全屏 嵌入式开发-MOS精灵 ¥86.00 全屏动画嵌入式开发蕃茄钟固件开源原理图开放WiFi芯片ESP8266 购买成品固件广场QQ交流群 店铺(MOS精灵固件) 售出硬件均已内置VIP激活码,可刷入和更新官方VIP固件。 作为JSRUN重点支持设备,JSRUN重新设计了主板和硬件方案,标配顶部触控按https://jsrun.net/
17.Anycodes在线编程Anycodes在线编程支持包括C语言、C++、Java、Python、Golang、Matlab等在内的近30余种编程语言的在线编写与运行 网页版、手机客户端、快应用、小程序;编程学习、代码练习;Anycodes可以充分利用学习者的零散时间进行综合能力的提升 源于社区,回馈社会;将小众平台打造成大众品牌,项目团队来自国防科大、浙江大学等高效以及腾讯https://www.anycodes.cn/
18.一步一步教你在线免费训练机器学习模型(启用GPU和TPU)你可以在线培训和运行fashion_mnist,而不依赖于此。 https://colab.research.google.com/github/tensorflow/docs/blob/master/site/en/tutorials/keras/basic_classification.ipynb 对于每个对机器学习感兴趣的人来说,Colab都是一个很棒的工具,使用colab的所有教育资源和代码片段都是在官方网站上提供的记事本示例。 https://blog.itpub.net/31545819/viewspace-2216969/
19.疯狂的美工一站式电商设计师店铺代码装修工具交流学习平台疯狂的美工一站式电商设计师店铺代码装修工具交流学习平台是一个内容丰富的淘宝天猫/阿里1688/京东/阿里国际站美工设计师店铺代码装修工具、设计工具及教程资源发布网站,本站同时为广大设计师提供了灵感分享、学习交流的平台。https://www.fkdmg.com/
20.视频学习+在线考试+题库+直播:社区版完全免费,功能完整。直播社区版完全免费,功能完整。直播、视频学习、试题练习、测试、考试、学习证明、成绩打印,实现“学、练、考”一体。适用于在线教育、知识付费、企业内训、员工考评、企业商学院等。https://gitee.com/weishakeji/LearningSystem
21.CmdMarkdown编辑阅读器最好的 Markdown 工具——没有之一 :)因为深信文字的力量,所以我们和你一样,对流畅书写,分享思想和知识,以及阅读体验有极致的追求,我们把对于这些诉求的回应整合在 Cmd Markdown,并且一次,两次,三次,乃至无数次地提升这个工具的体验,最终将它演化成一个 编辑/发布/阅读 Markdown 的在线平台——您可以在任何地方https://www.zybuluo.com/