当前位置: 首页 > news >正文

DevOps学习笔记

一、DevOps介绍

DevOps,字面意思是Development &Operations的缩写,也就是开发&运维虽然宇面意思只涉及到了开发团队和运维团队,其实QA测试团队也是参与其中的。
网上可以查看到Dsyoms的符号类似于一个无穷大的符号。
在这里插入图片描述

整体的软件开发流程包括:

  • PLAN: 开发团队根据客户的目标制定开发计划
  • CODE: 根据PLAN开始编码过程,需要将不同版本的代码存储在一个库中,
  • BUILD: 编码完成后,需要将代码构建并且运行。
  • TEST: 成功构建项目后,需要测试代码是否存在8UG或错误。
  • DEPLOY: 代码经过手动测试和自动化测试后,认定代码已经准备好部署并且交给运维团队。
  • OPERATE: 运维团队将代码部要到生产环境中。
  • MONITOR: 项目部署上线后,需要持续的监控产品,
  • INTEGRATE: 然后将监控阶段收到的反馈发送回PLAN阶段,整体反复的流程就是pevQps的核心,即持续集成、持续部署。

在这里插入图片描述
核心:Jenkins,代码构建、测试、发布。

最终可以给pevops下一个定义: DevOps 强调的是高效组织团队之间如何通过自动化的工具协作和沟通来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。
自动化的工具协作和沟通来完成软件的生命周期管理。

在这里插入图片描述

二、docker安装

docker version
docker-compose version
保证有这两个

防火墙
关闭命令:
systemctl stop firewalld

docker 构建gitlab服务
mkdir /usr/local/docker/gitlab_docker
–创建构建脚本名称
vi docker-compose.yml
–查看gitlab版本号
docker search gitlab

在这里插入图片描述
–拉取镜像
docker pull gitlab/gitlab-ce:latest

docker-compose.yml

version: '3.1'
services:gitlab:image: 'gitlab/gitlab-ce:latest'   ##镜像container_name: gitlab      ##容器名称restart: always  #容器启动,gitlab启动environment:GITLAB_OMNIBUS_CONFIG: |external_url 'http://192.168.11.11:8929'     #当前linux服务器,页面路径gitlab_rails['gitlab_shell_ssh_port'] = 2224  #ports:    #端口号映射- '8929:8929'- '2224:2224'volumes:- './config:/etc/gitlab'- './logs:/var/log/gitlab'- './data:/var/opt/gitlab'

启动容器
docker-compose up -d

查看日志
docker-compose logs -f

页面访问路径:
http://192.168.11.11:8929

进入gitlab容器查看密码
docker exex -it giltbla bash
cat /etc/gitlab/initial_root_password

root登录,修改密码即可。

安装Docker所需要的依赖

sudo yum install -y yum-utils device-mapper-persistent-data lvm2添加Docker Yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
#查看能安装的版本号
yum list docker-ce --showduplicates | sort安装指定版本Dokcer26.1.0 
sudo yum install docker-ce-26.1.0-1.el7 docker-ce-cli-26.1.0-1.el7 containerd.io docker-buildx-plugin docker-compose-plugin 

开机自启动和启用Docker

sudo systemctl enable docker
sudo systemctl start docker

#Docker环境变更

vim /etc/docker/daemon.json
{"log-driver":"json-file","log-opts":{"max-size" :"50m","max-file":"1"}
}
#设置虚拟机最大内存和核心修改文件
sudo vim /etc/sysctl.conf添加参数
vm.max_map_count = 262144重新加载/etc/sysctl.conf配置
sysctl -p

三、安装jenkins

安装jenkins-----------
maven准备
复制一个虚拟机出来,修改网卡信息:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR修改为需要的。
在这里插入图片描述
重启网卡
systemctl restart network

安装jdk和maven
maven setting.xml设置一下镜像,新增一个阿里云或者其他镜像。
maven setting.xml设置一下jdk8编译插件。

CI/CD可以理解为:

CI过程即是通过Jenkins将代码拉取、构建、制作镜像交给测试人员测试。持续集成:让软件代码可以持续的集成到主干上,并自动构建和测试。
CD过程即是通过Jenkins将打好标签的发行版本代码拉取、构建、制作镜像交给运维人员部署。持续交付:让经过持续集成的代码可以进行手动部署。持续部署:让可以持续交付的代码随时随地的自动化部署。

在这里插入图片描述
安装 推荐LTS版本:
下载对应版本的Jenkins,此次使用的是支持jdk8的最后一个版本 jenkins-2.346.x

https://www.jenkins.io/download/
https://hub.docker.com/r/jenkins/jenkins/tags?page=5&page_size=&ordering=&name=2.346
拉取命令,复制页面:
docker pull jenkins/jenkins:2.346.1-lts-jdk8

mkdir /usr/local/docker/jenkins_docker
vim docker-compose.yml

version: "3.1"
services:jenkins:image: jenkins//jenkins:2.346.1-lts-jdk8container_name: jenkinsports:- 8080:8080- 50000:50000volumes:- ./data/:/var/jenkins_home/

赋权
chmod -R 777 data
—启动
docker-compose up -d
–查看日志
docker logs -f jenkins
日志中会打印密码

重新启动Jenkins容器后,由于Jenkins需要下载大量内容,但是由于默认下载地址下载速度较慢,
需要重新设置下载地址为国内镜像站

数据卷data目录下:

# 修改数据卷中的hudson.model.UpdateCenter.xml文件
<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>https://updates.jenkins.io/update-center.json</url></site>
</sites>
# 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url></site>
</sites>
# 清华大学的插件源也可以
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

docker exec -it jenkins bash
–查看密码
cat /var/jenkins_home/secrets/initialAdminPassword

访问页面:
页面:IP:8080
选择插件来安装(选择项默认即可),如果安装不成功,失败也点击继续。
解决方案1:修改源。
方案2:https://plugins.jenkins.io/ 手动下载安装。

创建一个用户信息:root。
开始使用jenkins。

四、jenkins使用

插件管理:
下载失败的插件查看:
页面菜单栏:dashboard——>manage jenkins——>manage plugins
available:
需下载:git Parameter (拉取代码)、Publish Over SSH(连接到服务器)
安装必要的插件,如Jenkins汉化-Localization: Chinese (Simplified)、Git Parameter Plug-in,、 Git Client Plugin、NodeJS Plugin、Publish over SSH等插件:

点击 install without restart
在这里插入图片描述

拉取代码需要git,代码构建需要maven和JDK。
把jdk和maven也弄到容器内部,在页面进行指定目录。
全局配置:
bashboard——>manage jenkins——>global Tool Configuration

在这里插入图片描述
在这里插入图片描述

系统配置:
bashboard——>manage jenkins——>configure System
最下面 publish over ssh,SSH Server(使用账号密码的模式连接),也可以使用秘钥私钥。
远程文件夹:即远程进去的默认目录。
在这里插入图片描述
添加远程服务器密码:
在这里插入图片描述

测试连接。

可以参考:https://mp.weixin.qq.com/s/P5DSyZ2Mxsmm6TniAbp6YA

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
配置好应用。

然后构建。
在这里插入图片描述
console output可以查看日志。
在这里插入图片描述

构建完成后,会在docker目录workspace下看到代码。

代码构建
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再次构建,打包。

容器内会workspace/项目下/有会有一个target的打包目录。

jar包推送到目标服务器。

构建后的操作
在这里插入图片描述

在这里插入图片描述

再次构建,会把jar传输到服务器。

http://www.dtcms.com/a/495485.html

相关文章:

  • DevOps是什么,有什么作用,一般用来干嘛
  • Go语言:关于导包的两个重要说明
  • 21 种网络攻击方式,如何有效防护!
  • 工厂 电商网站建设WordPress网易云插卡
  • STM32H743-ARM例程23-USB_HID
  • 丽水微信网站建设哪家好阿里巴巴国际站坑人
  • 网站通知发送邮件广州 深圳 外贸网站建设公司
  • LOL实时数据推送技术揭秘:WebSocket在电竞中的应用
  • STC89C52RC---坤坤铁山靠
  • 幽冥大陆(十五)SIM300 拨打电话和短信——东方仙盟筑基期
  • SpringBoot校园二手商城系统
  • 贸易网站建设一个网站建设需要多少钱
  • 网站查询空间商企业不开了网站备案吗
  • iframe内嵌子系统可返回
  • 【读书笔记】《巨人的工具》
  • 【实战详解】MySQL 8.0递归查询终极教程:附组织架构/分类树完整代码
  • 最新网站开发工具东莞推广外包
  • 双目测距实战3-立体匹配
  • 战斗系统架构:为什么游戏战斗适合ECS架构?
  • 【C语言加油站】C语言文件操作完全指南:feof、ferror与缓冲区机制详解
  • 做seo怎么设计网站响应式网站软件
  • 怎么样建网站卖东西可以入侵的网站
  • 17、Centos9 安装 1Panel
  • Linux学习笔记--GPIO控制器驱动
  • 重庆制作手机网站如何看一个站点是不是有wordpress
  • 网站如何在推广设计公司logo软件
  • 价值1w的数据分析课知识点汇总-excel使用(第一篇)
  • android取消每次u盘插入创建无用(媒体)文件夹
  • 个人如何办网站1m的带宽做网站可以吗
  • 多机部署,负载均衡