DevOps本地搭建笔记(个人开发适用)

需求和背景

win11 + wsl2 + armbian(玩客云矿渣),构建个人cicd流水线,提高迭代效率。

具体步骤

基础设施准备

硬件准备:一台笔记本,用于开发和构建部署,一台服务器,用于日常服务运行。

笔记本配置:amd3600, 40G内存

服务器配置:玩客云二代矿渣刷的armbian,ARMv7 Processor rev 1 (v7l), 1G内存

软件准备:

  1. win需要安装wsl2,ubuntu子系统
  2. wky需要安装docker容器

整体网络拓扑配置

首先,最重要的事情是,要确定需要用的机器,固定下来ip,避免后续ip变更导致频繁修改服务。

代码仓库(gitlab)

部署流程参考:https://blog.csdn.net/weixin_45565886/article/details/129763344
服务ip变化,gitlab需要改动

构建工具(jenkins)

部署流程参考:https://blog.csdn.net/weixin_45565886/article/details/129763344

  1. 源码管理配置仓库地址
  2. 构建步骤设置--maven打jar包
  3. ssh上传jar包和dockerfile到服务主机、并重新构建镜像,关闭旧服务,启动新服务

问题参考:

  1. Cannot run program "mvn"

  2. 容器内升级jenkins版本

  3. jenkins密码

  4. jdk下载

服务ip变化,jenkins需要改动:

  1. data目录下的jenkins.model.JenkinsLocationConfiguration.xml

  2. 修改task的git仓库地址

服务主机配置(docker)

参考:

  1. 玩客云刷armbian
  2. dockr-compose和docker版本不兼容问题

开发主机配置(wsl)

参考:

  1. wsl固定ip
  2. wsl内docker自启动

docker通用异常:

docker网桥问题
docker网桥问题

效果演示

  1. 本地提交代码改动到代码仓库
  2. 登录jenkins执行构建任务(带部署步骤)

TODO项

  1. jenkins构建jar包上传给服务器的方式,改成jenkins构建jar包和镜像,再上传拉镜像启动逻辑的脚本给服务器。(目前来说还没这个需求)

个人感悟

  1. 从0开始,搭建自己的cicd流程,会遇到很多奇怪的问题,且不成章法,这些琐碎的事情,会占用大量的精力,建议多花点钱,比如说,把玩客云这个矿渣换成一个普通的x64服务器+debian系统,能避免很多软件在armbian的适配性问题。
  2. 网络拓扑一定要先考虑好,也要考虑好哪台机器用来部署那个服务,避免后期持续改动,而不得不对前期配置项进行改动。
  3. 多折腾也好,毕竟职场当螺丝钉的场景居多,很少有涉及到服务需求到上线全流程的工作,多了解一些本职之外的工作,也算是扩宽自己的能力边界。
相关推荐
DP DPharness2 小时前
ClearAI、记忆插件与普通笔记,三种让 Agent 记住的路数对比
笔记
piikee4 小时前
粤语初学入门:从粤拼、九声六调到开口,一个普通话母语者的练习笔记
笔记·粤语入门·怎么学习粤语
Seraphina367 小时前
SQL注入(二)盲注
网络·数据库·经验分享·笔记·sql
白山编程大哥7 小时前
Carsim 2024.1 专业安装介绍:功能特性与应用场景详解
笔记
hss123456787 小时前
整装落地与效果图差距有多大?从毫米级误差到ENF板材的量化拆解
笔记
zhangrelay10 小时前
用ROS2Lyrical实验报告册思路重做蓝桥云课ROS1实验并改进
linux·笔记·学习·ubuntu·机器人
协皓家具10 小时前
2026年广州岛台吧台椅厂家有啥新变化
大数据·运维·python·devops
LHR_friendship11 小时前
HCIP课程全部内容
网络·笔记·学习·hcip·华为ensp
海绵宝宝转agent12 小时前
Pico 学习笔记 Harness 设计、历史压缩、三类目录与缓存复用
笔记·学习·缓存
記億揺晃着的那天13 小时前
【Agent 架构实战】大模型长期项目开发:决策文档生命周期管理与 CI 门禁治理
软件工程·devops·架构设计·ai agent·文档管理