
自动化运维
文章平均质量分 89
Coder加油!
老程序员一枚,20年开发和技术管理经验。善长DevOps、Python、Java、C++和项目管理。欢迎关注交流。
展开
-
什么SNMP协议,怎么使用python调用SNMP访问设备
SNMP(Simple Network Management Protocol,简单网络管理协议)是一种用于管理和监控网络设备的标准协议。它允许网络管理员通过网络远程监控和管理网络设备,如路由器、交换机、服务器、打印机等。SNMP的主要目标是提供一种简单、标准化的方式来收集和交换网络管理信息。原创 2024-10-21 14:48:05 · 2406 阅读 · 4 评论 -
【DevOps】Dockerfile详解,做自己的docker镜像
学会使用DockerHub找自己想要的镜像以后,我们会很方便的使用一些公用镜像仓库的Docker镜像。但是开发和部署的过程中,能找到的镜像可能并不能满足我们需要,这样我们就需要自己制作Docker镜像。我们通过需要编写一个 Dockerfile,然后来生成一个Docker镜像。Dockerfile 是一个文本文件,包含了从基础镜像构建新镜像所需的一系列命令和参数。这些命令涵盖了复制文件、安装软件、设置环境变量等多种操作,它们在 Docker 镜像构建过程中按顺序执行。原创 2024-05-02 09:06:35 · 4056 阅读 · 51 评论 -
【DevOps】Docker安装和使用示例
在 Ubuntu 20.04 上安装 Docker 可以通过几种不同的方法完成,其中最简单和最常见的方法是使用 Docker 的官方安装脚本,或者通过 Ubuntu 的包管理工具。但注意,官方脚本会添加 Docker 的官方仓库到你的系统中,适合信任 Docker 仓库的场景。运行这个命令应当显示 Docker 客户端和服务端的版本,证明 Docker 已正确安装。这个命令会下载一个测试用的镜像并在容器中运行。这个方法稍微复杂一些,但它让你对安装过程有更多的控制,尤其是在生产环境中推荐使用。原创 2024-05-01 08:00:00 · 1192 阅读 · 7 评论 -
阿里云详细介绍,与AWS和GCP比较
阿里云也与全球各地的企业和教育机构建立了合作,推动云计算和AI技术的研究和应用。作为中国领先的云服务提供商,阿里云凭借其在本地市场的深厚根基和全球化战略,以及在技术创新和行业解决方案方面的持续投入,已成为全球云计算领域的重要力量。:由于其服务的广泛性和成熟度,AWS吸引了各种类型的客户,从初创公司到大型企业,以及政府和教育机构。:谷歌的强项在于其技术创新,特别是在数据分析和机器学习领域,因此它特别受到那些依赖高级数据处理功能的企业的欢迎,如科技公司、数据分析公司和教育研究机构。确保数据安全和合规性。原创 2024-04-30 08:00:00 · 3840 阅读 · 10 评论 -
AWS详细介绍与GCP比较
Amazon Web Services (AWS) 是亚马逊公司的云服务平台,提供广泛的全球云基础设施服务。自2006年推出以来,AWS已发展成为市场上最大、最广泛使用的云服务提供商之一,提供超过200种功能丰富的服务,覆盖计算、存储、数据库、分析、网络、移动、开发者工具、管理工具、物联网、安全和企业应用等。原创 2024-04-30 07:30:00 · 1628 阅读 · 0 评论 -
Google云平台(Google Cloud Platform,简称GCP)
Google Cloud Platform(GCP)是谷歌提供的一系列云计算服务,针对企业和开发者提供强大的基础设施和平台以支持应用程序的开发、部署和扩展。GCP启动于2008年,现已发展成为全球领先的云服务提供商之一,与Amazon Web Services (AWS) 和 Microsoft Azure 等平台竞争。原创 2024-04-30 07:00:00 · 4646 阅读 · 1 评论 -
【DevOps】Docker简介和发展趋势
Docker及其生态系统中的安全工具和实践正不断发展,包括更加严格的容器扫描、运行时安全监控和自动化的漏洞管理。Docker容器可以在任何支持Docker的环境中以相同的方式运行,这消除了常说的“在我机器上能运行”的问题。是一个开源的应用容器引擎,允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。随着技术的进一步成熟和新技术的不断出现,Docker及其生态系统将继续影响云计算、DevOps和微服务架构的未来。原创 2024-04-29 08:00:00 · 1352 阅读 · 12 评论 -
DevOps(十九)怎么定义JAVA项目的jar包的版本号
通过这些环节的合理配置,可以确保版本号的一致性和准确性,从而有效支持软件的版本管理和发布。在Java项目中,确定JAR包的版本号通常是一个涉及多个环节的过程,这个过程包含项目的配置、构建、打包和发布等阶段。在版本控制系统中,尤其是在使用Git时,通常在重大发布前给代码库打标签,标签名经常与JAR的版本号保持一致。这种方法在软件开发中非常流行,因为它提供了一个清晰、有意义的版本号系统,能够帮助开发者和用户理解版本间的兼容性。在多数Java项目中,版本号的定义通常开始于项目的配置阶段。(例如:1.0.0)。原创 2024-04-29 07:00:00 · 1521 阅读 · 0 评论 -
DevOps(十八)软件开发过程中的分支、版本和代码基线
在软件开发中,版本和分支是两个关键概念,它们经常被用来管理和控制软件的开发过程。虽然两者紧密相关,但它们在目的和用途上有所不同。团队需要确定何时创建基线。通常,这些决策基于项目的关键里程碑,如完成主要功能开发、达到某个测试阶段或准备发布。原创 2024-04-28 08:00:00 · 1971 阅读 · 0 评论 -
DevOps(十七)在Ubuntu上安装Nexus配置Maven仓库
在 Ubuntu 20.04 上安装 Nexus Repository Manager 是一个直接的过程,可以通过以下几个步骤来完成。Nexus Repository Manager 是一个流行的仓库管理工具,用于存储和分发软件包,例如 Maven、npm 和 Docker 镜像等。原创 2024-04-28 07:00:00 · 1598 阅读 · 0 评论 -
DevOps(十六)Nexus二进制仓库与Jenkins
Nexus 是一个强大的二进制仓库管理器,由 Sonatype 公司开发。它广泛用于存储、组织、和分发构件(artifacts),例如编译后的代码、库、容器镜像等。Nexus 支持多种包管理系统和构建工具的集成,如 Maven、NuGet、NPM、Docker 等,使得它成为开发和 DevOps 团队中不可或缺的工具之一。原创 2024-04-27 08:00:00 · 1211 阅读 · 5 评论 -
DevOps(十五)如何创建参数化的Jenkins Job
通过这些具体的例子,你可以看到不同类型的参数如何在Jenkins中配置和使用。根据你的构建需求选择合适的参数类型,可以使你的Jenkins Job更加灵活和强大。在Jenkins中创建参数化的Job允许你在构建过程中动态输入一些值,这样可以让构建过程更加灵活和通用。通过以上步骤,你可以创建一个灵活的参数化Jenkins Job,根据不同的输入执行不同的构建任务,这对于管理具有多种配置选项的项目非常有用。下面我将为每种常见的参数类型提供一个具体的例子,这些例子将帮助你更好地理解每种参数的用途和配置方式。原创 2024-04-27 07:30:00 · 1219 阅读 · 0 评论 -
DevOps(十四)怎么实现Gitlab更新后Jenkins自动发布
完成以上配置后,当开发人员将代码推送到 GitLab 仓库时,GitLab 会自动发送一个 Webhook 请求到 Jenkins。如果满足触发条件,Jenkins 将自动拉取最新的代码,并按照配置的构建步骤进行编译和发布。选择适合你的方式进行配置,然后重新尝试在 GitLab 中添加 Jenkins 的 Webhook URL。如果你的 Jenkins 服务器和 GitLab 服务器在同一个本地网络中,就会触发这个安全限制。持续集成是一个持续优化和改进的过程,需要根据项目的实际情况不断调整和完善。原创 2024-04-26 08:00:00 · 2676 阅读 · 3 评论 -
自建Elasticsearch 集群的规划和常见问题
一般的生产系型里面典型的Elasticsearch 集群配置是3台主节点,3台数据节点,主节点为 4 核心 8G 内存,数据节点为 8 核心 32G 内存。这样的配置在一般情况下是合理的,但是否足够还取决于具体的使用场景和数据量。搭建一个Elasticsearch 集群的配置取决于具体的使用场景、数据量、查询模式以及可用的资源。总的来说,4 核心 8G 的主节点和 8 核心 32G 的数据节点是一个合理的起点配置。具体的配置方案还需要根据实际的业务需求和资源限制进行调整和优化。原创 2024-04-26 07:30:00 · 1601 阅读 · 0 评论 -
DevOps(十二)Jenkins实战之Web发布到远程服务器
前面两篇博文介绍了怎么将django开发的web应用推送到gitlab源码仓库,然后jenkins服务器从gitlab仓库拉下来,布署到jenkins服务器上,并用supervisor进行进程管理,保证web应用一直能正常运行,今天我们继续优化,将django代码发布到远程的生产服务器上,并使用Supervisor进行管理。原创 2024-04-25 07:00:00 · 2800 阅读 · 7 评论 -
DevOps(十三)Jenkins之Selenium插件配置
Selenium Grid 是 Selenium 测试套件的一部分,主要用于通过并行执行测试来提高测试执行的速度和效率。它允许您在多个环境(不同的浏览器和操作系统)上同时运行测试,从而帮助在开发过程中快速发现跨浏览器的兼容性问题。原创 2024-04-25 07:45:00 · 1508 阅读 · 0 评论 -
DevOps(十一)Jenkins实战之Web发布脚本优化与Supervisor
DevOps(十)Jenkins实战之发布Django开发Web应用》的博文中,我们创建了一个简单的Jenkins脚本用来发布Django开发Web应用,上面那个脚本有一个问题,就是执行以后会卡住,看不到任务执行的结果,如果启动django应用后,还需要做其他操作就不行。怎么解决这个问题呢?我们需要引进一个工具Supervisor,这个工具是用来管理进程的,一般和Python应用一起配合使用,可以确保django应用在服务器后台运行。原创 2024-04-24 11:12:00 · 1850 阅读 · 3 评论 -
【Mysql】Mysql8存储引擎优化与锁和事务管理优化
前一篇博文介绍了Mysql8优化的总体方向,这一篇我们就其中比较重点的内容存储引擎优化与锁和事务管理优化做重点讲解。原创 2024-04-24 07:30:00 · 1495 阅读 · 0 评论 -
【Mysql】Mysql8日常优化经验分享
MySQL 8.0 带来了许多新特性和性能改进,对于数据库管理员和开发者来说,了解这些更改并进行适当的优化是非常重要的。原创 2024-04-24 07:00:00 · 1802 阅读 · 0 评论 -
【Mysql】使用binlog日志进行数据库迁移和数据恢复
MySQL的二进制日志(binary log,简称binlog)是MySQL数据库中非常关键的一个组件,主要用于记录所有数据库表结构或表数据改变的操作语句(除了数据查询语句SELECT和SHOW等),并以“事件”形式存储在日志文件中。binlog是MySQL数据复制的基础,并且常常被用于数据恢复、审计等场景。原创 2024-04-23 10:40:41 · 1979 阅读 · 0 评论 -
DevOps(十)Jenkins实战之发布Django开发Web应用
前面学习了Jenkins,Gitlab,Git等等DevOps有关的工具。今天我们使用一个完整的Web应用发布流程来讲解怎么样将这些工具怎么配合使用。下面是这个流程的简单介绍:首先我们用Django开发一个简单的Web应用,然后发布到Gitlab代码仓库当中,然后通过Jenkins的流水线,将代码拉取到服务器上,布署在服务器上。原创 2024-04-23 07:00:00 · 2086 阅读 · 2 评论 -
使用Openvpn打通内网与阿里云VPC过程
在办公室的时候经常需要访问阿里云的服务器,但是有些服务器是没有公网IP的,需要通过阿云的的内网地址进行访问,这样就很不方便了。需要通过几台服务器进行中转。我们可以通过配置一台openvpn服务器,打通内网与阿里云服务器之间的访问,在办公室也可以直接通过内网地址访问阿里云的服务器了。原创 2024-04-22 08:00:00 · 4420 阅读 · 4 评论 -
Selenium安装配置ChromeDriver过程中的一些问题
使用 Selenium 和 Chrome WebDriver 进行自动化测试时,需要注意一些关键的配置和环境设置问题以确保一切顺利进行。原创 2024-04-22 07:00:00 · 1435 阅读 · 0 评论 -
DevOps(九)Selenium 介绍和Jenkins集成
Selenium 是一个开源的自动化测试工具,主要用于 Web 浏览器自动化测试。它支持多种编程语言,包括 Java、Python、Ruby、C# 等,可以在多种浏览器中运行,包括 Chrome、Firefox、IE、Edge 等。Selenium 是一个功能强大且灵活的自动化测试工具,广泛应用于Web应用程序的测试和爬虫等领域。但是,它也需要一定的学习和使用经验,需要注意资源消耗和浏览器版本问题。原创 2024-04-21 20:07:02 · 1710 阅读 · 0 评论 -
常见DNS故障和问题解决过程
DNS服务器布署后,会出现一些故障,这里我对一些常见的故障进行了收集,并列出了相应的分析检查步骤,希望对你有所帮助。原创 2024-04-21 18:54:08 · 1441 阅读 · 0 评论 -
内网DNS服务选型和Bind9安装配置
DNS 使用分布式的架构,全球有数以万计的 DNS 服务器,它们共同组成了一个分层的、高度冗余的系统。这样设计的目的是为了提高 DNS 的可用性和性能,并使其能够应对互联网的快速增长。内网 DNS 是在组织或公司的内部网络中运行的 DNS 服务器。它的作用类似于互联网上的 DNS 服务器,但只为内部网络服务。原创 2024-04-20 08:00:00 · 2276 阅读 · 0 评论 -
Git使用经验分享
Git是非常流行的代码管理工具,除了掌握Git的命令外,这里总结了一些使用经验,供大家参考。原创 2024-04-20 07:30:00 · 1061 阅读 · 0 评论 -
DevOps(七)Jenkins发布第一个流水线任务
Jenkins的流水线(Pipeline)是一种强大的工具,用于定义和管理持续集成和持续交付(CI/CD)过程。它允许你以代码的形式(即"Pipeline as Code")定义整个构建、测试和部署流程,使得流程可以像代码一样进行版本控制、审查和迭代。本博文介绍一个简单的打印Hello World的任务来讲解整个过程,简单易懂,一起来看看吧。原创 2024-04-19 07:00:00 · 2201 阅读 · 0 评论 -
DevOps(八)Jenkins的Maven和Git插件
Jenkins Maven Integration 插件提供了丰富的选项和灵活性,可以满足不同 Maven 项目的构建和管理需求。Jenkins Git 插件是 Jenkins 的一个非常流行和强大的插件,用于与 Git 版本控制系统集成。本文以图文的方式介绍这两个插件的安装和配置。原创 2024-04-19 08:00:00 · 2341 阅读 · 9 评论 -
什么是Cookies?请求Cookies和响应 Cookies的关系
cookies是在 HTTP 请求中用于在客户端(通常是浏览器)和服务器之间传递信息的小型数据片段。请求 Cookies 和响应 Cookies 是 HTTP 通信中 Cookies 的两个方向:请求 Cookies 由客户端发送给服务器,响应 Cookies 由服务器发送给客户端。它们相互配合,共同实现了在客户端和服务器之间维护状态和传递信息的功能。原创 2024-04-18 07:00:00 · 3094 阅读 · 8 评论 -
DevOps(五)Jenkins图形化界面介绍
总的来说,Jenkins提供了一个功能丰富、易于使用的Web界面,使得管理和监控CI/CD流程变得更加高效和直观。通过合理利用Jenkins界面的各种功能和信息,可以全面掌控软件开发和交付的过程,提高团队的生产力和质量。通过熟悉和使用这些界面元素,可以高效地配置和管理Jenkins,监控构建状态,分析和诊断问题等。界面还支持自定义和个性化,可以通过主题插件和自定义CSS来改变界面的外观和布局。Jenkins提供了一个直观的Web界面,用于配置和管理各种任务和设置。原创 2024-04-17 07:30:00 · 3609 阅读 · 1 评论 -
SonarQube Community Edition详细介绍和安装
SonarQube Community Edition是SonarQube的免费开源版本,提供了代码质量管理和静态代码分析的基本功能。它可以帮助开发团队检测和修复代码中的问题,提高代码质量和可维护性。原创 2024-04-17 07:00:00 · 2493 阅读 · 0 评论 -
DevOps(三)持续集成、持续部署、持续交付与Jenkins
持续集成(Continuous Integration, CI)、持续交付(Continuous Delivery, CD)和持续部署(Continuous Deployment)是现代软件开发中的三个重要概念,它们共同构成了一种高效、自动化的软件开发实践。原创 2024-04-16 07:00:00 · 2281 阅读 · 0 评论 -
DevOps(四)在Ubuntu20.04和CentOS7安装Jenkins
了解了Jenkins的功能和优点以后,我们开始第一步实际操作就是在我们的环境中安装Jenkins,我们选用的最常用的linux环境Ubuntu20.04和CentOS7上进行安装过程进行讲解。原创 2024-04-16 08:00:00 · 1560 阅读 · 0 评论 -
DevOps(二)Jenkins详细介绍和15天学习计划
Jenkins 是一个开源的自动化服务器,广泛用于持续集成和持续部署(CI/CD)的自动化过程中。它支持开发者在软件开发的各个阶段自动构建、测试并部署应用程序,从而提高开发效率并减少错误。原创 2024-04-16 06:00:00 · 1295 阅读 · 0 评论 -
自动化运维(三十一)Ansible之 YAML 详细介绍
YAML(YAML Ain't Markup Language)是一种便于人类阅读的数据序列化标准,常用于配置文件、数据交换等场景。它以其简洁和易于理解的语法而受到开发者的青睐。YAML 设计的目标是易于人类阅读和支持各种编程语言的数据结构。原创 2024-04-15 12:00:00 · 804 阅读 · 0 评论 -
自动化运维(二十九)Ansible 实战之亚马逊云管理
Ansible提供了一系列的模块来管理Amazon Web Services(AWS)的各种资源,如EC2实例、VPC网络、S3存储等。通过使用这些模块,我们可以使用Ansible的声明式语法来定义我们的AWS基础设施,并自动化管理这些资源。原创 2024-04-15 07:30:00 · 1401 阅读 · 0 评论 -
自动化运维(二十八)Ansible 实战之最佳安全实践
Ansible是直接操作我们服务器的工具,Ansible是否安全关系到整个生产和办公环境的数据安全,因此确保 Ansible安全地运行非常重要。以下是有关 Ansible 安全的详细介绍,包括如何安全地使用 Ansible 和一些最佳安全实践。原创 2024-04-14 08:00:00 · 1069 阅读 · 0 评论 -
自动化运维(三十)Ansible 实战之自定义插件
查找插件用于在 Ansible 任务中动态获取数据。比如从外部系统抓取数据,或者实现复杂的数据计算逻辑。以下是创建一个简单的自定义查找插件的步骤。在 Ansible playbook 中使用自定义查找插件非常直接。以下是一个示例 playbook,它使用我们上面创建的mylookup插件。tasks:debug:在这个 playbook 中,调用了我们的自定义查找插件,将 'hello' 和 'world' 转换为大写,并在任务中打印出来。原创 2024-04-15 08:00:00 · 1299 阅读 · 0 评论 -
自动化运维(二十七)Ansible 实战Shell 插件和模块工具
Ansible 支持多种类型的插件,这些插件可以帮助你扩展和定制 Ansible 的功能。每种插件类型都有其特定的用途和应用场景。今天我们一起学习Shell 插件和模块工具。Ansible shell 插件决定了 Ansible 如何在远程系统上执行命令。这些插件非常关键,因为它们处理 Ansible 模块在目标机器上的执行环境。Shell 插件主要用于设置执行命令时使用的 shell 环境,比如 Bash、Sh、PowerShell 等。如果你需要确保脚本在 Bash 环境中执行(尤其是利用 Bash 特原创 2024-04-13 18:04:15 · 1505 阅读 · 0 评论