day17-day20_项目实战项目部署

万信金融 项目部署

目标:

  1. 理解DevOps概念

  2. 能够使用Docker Compose部署项目

  3. 理解持续集成的作用

  4. 会使用Jenkins进行持续集成

1 DevOps介绍

1.1 什么是DevOps

DevOps是Development和Operations两个词的缩写,引用百度百科的定义:

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

2 使用Docker Compose部署项目

 详见"万信金融-生产环境-部署文档.pdf"

3 持续集成

3.1 持续集成介绍

3.1.1问题描述

传统的软件开发流程如下:

1、项目经理分配模块给开发人员

2、每个模块的开发人员并行开发,并进行单元测试

3、开发完毕,将代码集成部署到测试服务器,测试人员进行测试。

4、测试人员发现bug,提交bug、开发人员修改bug

5、bug修改完毕再次集成、测试。

问题描述:

1、模块之间依赖关系复杂,在集成时发现大量bug

2、测试人员等待测试时间过长

3、集成部署耗时耗力,软件交付无法保障

解决上述问题的思考:

1、能否把集成测试提前进行?能否放在平时每隔几天甚至每天都进行?

2、人工集成部署耗时耗力,能否使用自动化工具代替人工集成部署的过程?

3.1.2 什么是持续集成

持续集成,即Continuous Integration,简称CI,随着软件开发复杂度的不断提高,团队开发成员间如何更快更好的协同工作以确保软件开发的质量已经成为一个不可回避的问题。尤其是近年来如何能在不断变化的需求中快速适应和保证软件的质量显得尤其的重要,持续集成就是针对此类问题的一种软件协同实践。它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成, 而每次的集成都是通过自动化的构建来实现的,包括自动获取仓库代码、自动编译、自动发布和测试,从而尽可能早的发现问题,让团队能更快的开发高质量的软件。

持续集成的好处:

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

2、更快的修复问题。

3、更快的进行交付。

4、提高了产品质量。

3.1.3 P2P项目持续集成流程

3.2 搭建持续集成环境

3.2.1 安装Git/Gogs

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

Gogs相比GitLab的优势在于:Gogs 能打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台,包括 Linux、Mac OS X、Windows 以及 ARM 平台。

在Linux服务器上安装Gogs,安装方法见“Gogs安装文档.pdf” 。

3.2.2 安装 Jenkins

Jenkins是一个开源的持续集成工具,使用Jenkins搭建持续集成环境,可以进行自动构建、自动编译和自动部署,非常方便。它提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更重要的业务逻辑实现上。简单的说,Jenkins就是一个Web应用程序,这个程序的作用就是提供持续集成所需的所有功能 。官网地址:Jenkins 。

=============安装 Jenkins:Start

Jenkins安装文档

一. 安装Jenkins

docker pull jenkins/jenkins:2.440.3

mkdir -p /mydata/jenkins_home

chown -R 1000 /mydata/jenkins_home/

docker run -di --name=jenkins -p 8091:8080 -v /mydata/jenkins_home/:/var/jenkins_home jenkins/jenkins:2.440.3

本教程在docker下安装Jenkins:

  1. 拉取镜像:

docker pull jenkinsci/blueocean
  1. 创建容器:

docker create --name jenkins -u root -p 8091:8080 --privileged=true  -v jenkins-data:/var/jenkins_home  -v /var/run/docker.sock:/var/run/docker.sock   -v /home/jenkins:/home  docker.io/jenkinsci/blueocean
  1. 启动容器:

docker start jenkins
  1. 通过浏览器访问http://ip:8091

初次运行Jenkins会经过一个安装过程,一般情况使用默认配置,一直下一步安装即可,其中一步需要输入密码,如下图所示:

分别执行如下命令即可得到初始密码(账户名默认是admin)

docker exec -it jenkins /bin/bash
​
cat /var/jenkins_home/secrets/initialAdminPassword

建议首次登录成功后,修改密码。

二. Jenkins常用插件安装

要想让Jenkin更好的和其他工具集成到一起工作,就需要安装一些常用的插件。

搜索如下插件并安装:

 

 

三. Jenkins全局工具配置

Jenkins在进行持续集成工作时依赖Jdk1.8、Git、maven,所以需要进行一些全局工具配置,如下图所示:

1、Maven安装:

可以采用“自动安装”,在上图中勾选自动安装,选择maven版本即可。或将maven程序目录拷贝到宿主机/home下,按上图进行配置即可。

2、Jdk安装配置

与maven安装相同,也可以采用自动安装或手动安装的方法。

3、Git安装方法同上

git安装完成配置如下图:

4、配置git凭证

此凭证用于远程从git仓库获取工程源代码,输入git仓库的账号和密码

有了该凭证后,Jenkins即可以从Gogs仓库中获取项目源码。

=============安装 Jenkins:end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/583066.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows Server配置网卡绑定:NIC组合

正文共:1024 字 12 图,预估阅读时间:1 分钟 在网络设备上,为了提高可靠性,一般会配置链路聚合(Link Aggregation)(网络之路28:二层链路聚合),同样…

GNU Radio之OFDM Channel Estimation底层C++实现

文章目录 前言一、 OFDM Channel Estimation 模块简介二、C 具体实现1、初始化和配置参数2、forecast 函数3、计算载波偏移量4、提取信道响应5、核心的数据处理任务 前言 OFDM Channel Estimation 模块的功能是根据前导码(同步字)估计 OFDM 的信道和粗略…

FileLink内外网文件摆渡系统产品介绍

在现代企业中,往往存在着多个网络、系统之间的数据孤岛问题,数据难以互相访问和共享。 一、常用的内外网文件摆渡方式 传统的数据交换方式往往需要人工介入,效率低下且容易出错。如:U盘、FTP、VPN等,极易引发各种各样…

CSS常见的 9 个单位汇总!

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合…

银行卡归属地查询API接口快速对接

银行卡归属地查询API接口指的是通过银行卡号查询该银行卡详细信息,包括银行卡名称、卡种、卡品牌、发卡行、编号以及归属地等信息,支持一千多家银行返回归属地信息,那么银行卡归属地查询API接口如何快速对接呢? 首先找到有做银行…

短视频橱窗好物带货者必看:如何解决无商品素材无收益还限流的烦恼?

随着短视频橱窗带货越来越火爆,许多人发现通过短视频橱窗好物带货素材APP不仅可以提升创作效果,还能轻松赚取佣金。下面,为您推荐三款一键领取并直接发布的抖音短视频素材APP,确保您在创作短视频时,既有高质量的素材&a…

Facebook’s Tectonic Filesystem: Efficiency from Exascale——论文阅读

FAST 2021 Paper 分布式元数据论文阅读笔记整理 背景 Blob storage 用来存放大量的文本、图片、视频等非结构化数据 包含 EB 级别的数据 存储内容大小不一,大小几KB到几MB不等 要求低时延 使用 Haystack 和 F4 Data warehouse 存放用于数据分析和机器学习的…

AI与新能源催生新增长,电子制造业如何提升预测力与连接力?

国产替代和新基建带来的结构性机遇,AI和新能源汽车行业的增长所带来的需求提升,都给电子制造行业以乐观的理由。但是,不少企业的客户经营管理、供需平衡与供应链协同等所面临的挑战仍在,如何为行业高质量增长持续注入动能&#xf…

使用mmdetection来训练自己的数据集(visdrone)(四)结果分析

测试 python tools/test.py <your-config-file> <your-model-weights-file> --out <save-pickle-path>关于test.py 的命令行 parser.add_argument(--out,typestr,helpdump predictions to a pickle file for offline evaluation)计算量、参数量计算脚本 pyth…

PNPM - nodejs 包管理

文章目录 一、关于 PNPM开发动机1、节省磁盘空间2、提升安装速度3、创建一个 non-flat node_modules 文件夹 二、安装通过 npm 安装 pnpm通过 Homebrew 安装 pnpm 三、pnpm CLI1、与 npm 的差异2、参数-C <path>, --dir <path>-w, --workspace-root 3、命令4、环境…

如何监控ANR

在 Android 开发中&#xff0c;“应用程序无响应”&#xff08;ANR&#xff09;是一种常见的问题&#xff0c;当应用程序在主线程上执行过长时间的操作时就会出现。本文将详细介绍ANR的成因&#xff0c;以及如何有效监控和预防这一问题。 什么是ANR&#xff1f; ANR&#xff…

PADS看图常用操作

1.放大缩小&#xff1a; 方法1&#xff0c;CTRL滚轮 方法2&#xff0c;按住滚轮&#xff0c;前后移动鼠标。 方法3&#xff0c;PageUP&#xff0c;PageDown按键 2.PADS layout只显示单层&#xff08;当前层&#xff09;怎么操作&#xff0c;而不显示其他层 第一步&#xff1a;…

Android双向认证配置过程

1&#xff08;可以绕过&#xff09;准备过程 为了让这个教程可以一直复用&#xff0c;打算直接写一个双向认证的APP作为素材。 工具&#xff1a; ●protecle&#xff08;签名文件转换&#xff09; ●keytool&#xff08;java自己就有&#xff09; ●openssl&#xff08;apache里…

使用工具速记

文章目录 一、sqlyoy登录账号信息迁移二、idea导入之前的已配置的idea信息三、设置windows UI大小四、其他 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、sqlyoy登录账号信息迁移 工具(sqlyog上面菜单栏)->导入导出详情->选择要导出的账号…

安卓悬浮窗权限检查

目录 悬浮窗权限代码检测悬浮窗功能 悬浮窗权限 请求了这个权限后&#xff0c;app的权限管理中会有「显示悬浮窗」的权限选项。后面会引导用户去开启这个权限。 <uses-permission android:name"android.permission.SYSTEM_ALERT_WINDOW" />代码检测悬浮窗功能…

算法基础课 贪心算法模板题笔记

AcWing算法基础课 贪心算法模板题笔记 贪心得到的答案 > 最优解 贪心得到的答案 < 最优解 局部最优 -> 全局最优 文章目录 1 区间问题例1&#xff1a;区间选点例2&#xff1a;最大不相交区间数量例3&#xff1a;区间分组例4&#xff1a;区间覆盖 2 Huffman树例&…

2023最新!Git2.40.0于win10环境下的安装

2023最新&#xff01;Git2.40.0于win10环境下的安装 git官网地址&#xff1a;https://git-scm.com/download/win/ 导航 文章目录 2023最新&#xff01;Git2.40.0于win10环境下的安装导航一、下载Git二、安装Git三、检验 一、下载Git Git官网选择自己所需的版本下载 二、安装…

恒驰喜报 | 12强精英对决,恒驰勇夺华为云数字化转型演讲赛亚军

4月28日落幕的“2024年上海销售伙伴赛马专项行动——华为云数字化转型演讲比赛”上&#xff0c;恒驰信息华为云解决方案首席架构师&#xff0c;在上海12家华为云核心伙伴的同台竞技中&#xff0c;凭借对数字化转型及华为云服务的深刻理解&#xff0c;夺得演讲比赛“第二名”的好…

单纯形投影算法

目录 一&#xff0c;任意点到平移坐标轴面的投影 1&#xff0c;求解目标 2&#xff0c;转换变量 3&#xff0c;求解结果 4&#xff0c;f(t)的导数 5&#xff0c;f(t)的最小值 二&#xff0c;任意点到标准单纯形的投影 1&#xff0c;求解目标 2&#xff0c;公式变形 3…

MATLAB数值类型

MATLAB 数值 MATLAB支持各种数字类&#xff0c;包括有符号和无符号整数以及单精度和双精度浮点数。默认情况下&#xff0c;MATLAB将所有数值存储为双精度浮点数。 您可以选择将任何数字或数字数组存储为整数或单精度数字。 所有数值类型都支持基本数组运算和数学运算。 转换…