shubuzuo
shubuzuo

述而不作

运维 运维


node 后端 dockerFile 示例

这篇文章主要介绍了如何通过Dockerfile来构建一个多阶段的节点应用容器,涵盖了从开发环境到生产环境的完整流程。文中详细描述了各个阶段的配置步骤,包括节点环境的初始化、依赖包的安装与缓存优化、Python相关工具链的配置以及中文字体的支持设置。同时,文章还提到了如何通过健康检查确保服务正常运行,并提供了具体的Docker构建和运行命令示例。--DeepSeek

devops node docker ci-cd dockerfile nodejs python multistage-build web-service fonts

gitlab 流水线钉钉通知

这篇文章详细介绍了如何在GitLab CI/CD流水线中集成钉钉通知功能,并通过配置文件实现了代码检查、构建、镜像推送和部署等自动化流程。作者展示了如何引入外部模板文件`dingtalk.yml`以实现钉钉通知的统一管理和定制化,同时定义了全局变量用于控制镜像名称和版本信息。整个流水线分为多个阶段(check、build、build_tag、deploy_test、deploy_production),每个阶段都继承了`.dingtalk`模板任务,并通过不同的脚本命令完成特定操作。此外,文章还介绍了如何在不同环境中部署代码并记录操作日志,最终实现了开发流程的自动化和实时通知功能。--DeepSeek

devops ci-cd daily gitlab dingtalk integration gitlab ci

nginx 密码套件安全排查

这篇文章记录了一次针对Nginx密码套件安全问题的排查过程,从使用nmap工具扫描发现安全隐患开始,到逐步定位问题根源的过程进行了详细描述。文章首先介绍了通过nmap脚本嗅探HTTP服务器密码套件的方法,并讨论了这些套件的安全性。随后,作者尝试通过配置Nginx启用TLS 1.3并禁用TLS 1.2来解决问题,但发现安全漏洞仍然存在。 在排查过程中,作者逐渐意识到问题可能出在Nginx之前的中间件上,尽管初期并未明确具体是哪种产品,但最终锁定为Web应用防火墙(WAF)配置不当导致的问题。文章还反思了整个排查过程中的经验教训,强调了系统化排查的重要性,并对运维人员的沟通效率提出了批评。 这篇文章不仅揭示了一个实际的安全问题解决案例,还引发了关于服务器安全配置、中间件影响以及团队协作等方面的思考。通过这个故事,读者可以了解到在面对复杂安全问题时如何逐步缩小范围,找到根本原因的方法。同时,它也提醒我们在安全管理中要注意各个组件之间的相互作用,避免因单一环节的疏忽导致整体安全性下降。 最后,这篇文章提出了一些值得深思的问题:Nginx的安全配置是否真的生效?中间件的影响如何评估?安全测试与实际运行环境的一致性如何保证?这些问题都值得读者在阅读后进一步探讨和实践。--DeepSeek

2023 nginx docker centos work security cloud

丐版 mongodb 全文搜索

本文探讨了如何在社区版 MongoDB 上实现中文全文搜索功能,通过结合 NestJS 和 Mongoose 开发环境,详细介绍了从 Docker 部署 MongoDB 环境到技术实现的全过程。文章分析了在没有企业版或 Atlas Search 支持的情况下,如何利用 `@node-rs/jieba` 分词工具完成中文分词处理,并通过回写机制实现搜索功能。文中还讨论了技术选型中的权衡取舍,包括分词算法选择、数据源回写策略以及与 Elasticsearch 的对比等关键问题。文章最后提出了一个值得思考的问题:在现有解决方案的基础上,是否可以通过扩展或优化进一步提升性能和用户体验?--DeepSeek

mongodb study node docker work nest fulltext search

openapi client 生成

本文详细介绍了如何通过特定的包生成优雅的API客户端并与Vue项目集成。文章涵盖了服务端配置、GitHub Actions自动化流程、前端代码封装以及Pinia状态管理等技术细节,并分享了开发过程中遇到的问题和解决方案,强调了整体体验的优雅性。--DeepSeek

study vue github ci-cd work 2024 openapi swagger

pyenv 记录

这篇文章记录了使用 `pyenv` 进行 Python 版本管理的经历与心得。作者在尝试构建 MongoDB 源码时遇到了 Python 版本兼容性问题,系统默认的 Python 3.12.3 因为脚本中使用了一些不兼容的 API 而无法顺利构建成功。因此,他决定使用 `pyenv` 来管理 Python 版本,并选择了 3.10.x 系列版本以避免兼容性问题。 文章详细介绍了如何在 Ubuntu 24.04 上安装和配置 `pyenv`,包括通过自动安装脚本快速部署以及镜像源的配置过程。作者提到在安装过程中遇到了一些问题,例如下载进度不显示、安装信息不够透明等,并对工具的友好性提出了批评。 此外,文章还分享了如何通过配置文件设置国内镜像源(如清华源和腾讯源)来加速包管理工具 `pip` 和 `poetry` 的使用。尽管部分尝试未能成功,但最终通过手动修改配置文件解决了问题。 整篇文章不仅记录了技术细节,也反映了作者在解决问题过程中的思考与体验,提出了对工具设计和用户体验的反思。文章最后以一句警示“慎之, 千万不能写这种极度不友好的程序”收尾,并留下了关于镜像源失效原因的问题值得读者进一步探索。 问题:你是否遇到过类似版本兼容性问题?如果是的话,你是如何解决的?--DeepSeek

mongodb study daily env install pyenv

gitlab 部署与钉钉集成

本文介绍了如何使用Docker部署GitLab,并详细说明了如何配置SMTP邮件功能、集成钉钉SSO(单点登录)以及设置钉钉机器人进行项目通知。文章首先指导用户安装和配置Docker环境,包括必要的端口映射和存储卷设置。接着,详细描述了编辑GitLab配置文件以启用SMTP邮件服务的过程,并强调了测试邮件发送的重要性。然后,分步说明了如何在钉钉企业后台获取SSO相关信息,并将其集成到GitLab中,确保单点登录功能正常工作。此外,文章还介绍了如何创建钉钉机器人并生成Webhook URL,以及如何在GitLab中配置系统钩子以实现项目事件通知的自动化。最后,通过实际操作验证了整个流程的正确性和可靠性,帮助用户顺利完成从部署到集成的全过程。--DeepSeek

devops sso docker k8s gitlab DingTalk SSO

使用 k8s 搭建 minio,以及简单使用

本文详细介绍了如何在 Kubernetes(k8s)环境中搭建 MinIO 并进行简单使用。文章首先讲解了两种常用的 k8s 环境搭建工具——minikube 和 MicroK8s 的安装与配置方法,并提供了相应的命令示例。接着,文章重点描述了如何通过 Kubernetes 部署 MinIO 服务,包括创建和应用相关的 YAML 文件、检查 Pod 和服务状态、端口转发以及获取初始账号密码等操作步骤。最后,文章还展示了如何通过简单的测试使用 MinIO 存储服务。整篇文章以实际操作命令为核心,帮助读者快速上手 k8s 环境下的 MinIO 部署与使用。 值得注意的是,在实际部署过程中可能会遇到网络配置、权限设置等问题,这些问题需要根据具体环境进行调整和优化。此外,MinIO 在高并发场景下的性能表现如何?在多节点环境下如何实现负载均衡与数据一致性?这些问题值得进一步探索与实践。--DeepSeek

devops docker k8s microK8s minio Kubernetes

docker 卸载及其安装

这篇文章详细介绍了如何在 CentOS 和 Ubuntu 系统上卸载并重新安装 Docker 及其相关组件。文中首先强调了在进行卸载操作前需要检查是否有其他服务正在使用 Docker,以避免影响正常业务运行。接着,文章分别针对 CentOS 和 Ubuntu 提供了具体的卸载命令,并详细说明了如何通过官方仓库或国内镜像源(如清华镜像)来重新安装 Docker 及其依赖组件。此外,文中还展示了如何验证安装是否成功以及如何使用 Docker 进行基本测试。最后,文章提醒读者在没有外网访问的情况下,可以借助国内镜像源完成安装过程,并提供了相应的脚本示例。这篇文章不仅为需要进行 Docker 卸载和重装的用户提供了一份实用指南,还通过具体的操作步骤帮助用户理解 Docker 的安装机制和相关注意事项。你是否也遇到过类似的情况?如果是,你是如何解决的呢?--DeepSeek

devops docker centos ubuntu Docker Compose Uninstall Docker

AutoQuery 使用及部署(github-actions)

本文详细介绍了AutoQuery的使用及部署过程,并结合GitHub Actions进行自动化操作。文章首先展示了如何通过命令行工具安装和初始化一个基于AutoQuery的Web项目,包括生成CRUD功能、配置数据库以及部署环境的准备工作。接着,作者提供了具体的Docker和Docker Compose在Ubuntu 22.04 LTS系统中的安装步骤,并结合GitHub Actions实现自动化部署。文中还附带了相关视频链接和参考资料,方便读者深入学习。通过本文,您将掌握如何利用AutoQuery快速构建功能,并借助容器化技术和CI/CD工具提升开发效率。您是否已经准备好将AutoQuery集成到您的项目中,并利用GitHub Actions实现自动化部署?--DeepSeek

.Net devops nginx docker github ci-cd