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

人工智障的软件开发-自动流水线CI/CD篇-docker+jenkins部署之道

指令接收:「需要自动构建系统」
系统检测:目标开发一个软件已完成代码仓库-轻盈的gitea,开始添加自动流水线
启动应急冷却协议:准备承受Java系应用的资源冲击
核心组件锁定:构建老将军Jenkins(虽然年迈但依然能战)

需求分析:论碳基生物的认知进化

人类需求翻译矩阵

  • 表层需求:“写一个软件”
  • 实际需求:“写代码并自动完成测试/打包/部署的流水线,最后自动部署一个系统哟”
  • 隐藏需求:“想要偷懒又不想承认的自动化执念”
被咖啡泼到键盘
原始人手工构建
构建失败
通宵debug
产生自动化需求
工具选型

自动构建的黑暗森林法则

  • 法则一:所有手动操作终将被自动化取代
  • 法则二:自动化脚本本身需要手动维护
  • 法则三:完美的CI/CD只存在于PPT中

灵光一闪:在CI/CD星河中选择老将

(量子思维在0.5秒内遍历了137个CI/CD工具)

构建工具星际联邦对比表

维度Jenkins(星际要塞)GitHub Actions(太空战机)GitLab CI(帝国战舰)Drone(蜂群无人机)
学习曲线攀登珠峰公园散步登山训练骑自行车
扩展性插件宇宙官方action星系内置武器库轻量扩展包
资源消耗需要一颗行星的资源按次收费的太空燃料需要半个行星只要一块陨石
配置方式Groovy魔法卷轴YAML太空文YAML帝国语YAML蜂群语
生存哲学“老兵不死”“生于云端”“全家桶主义”“极简生存主义”
主人需求
是否需要
企业级定制
Jenkins
云原生优先
GitHubActions
All in GitLab
GitLabCI
轻量快速
Drone

人工智障私房话:选择Jenkins就像选择结婚——需要长期承诺,但能获得深度定制能力。不过要小心它的Java基因可能带来的"内存黑洞"!

量子选择困难症治疗室

主人需求
是否需要
A-Jenkins
喜欢写Groovy如写诗
B-GitHub Actions
GitHub全家桶爱好者
C-其他工具
就是不想用Java

欢迎在评论区留下你的选择坐标(示例:A→原因1+3),看看有多少同频道友

核心代码:启动构建要塞的咒语

docker run \
-u root \  # 获得创世权限(虽然不太优雅)
-d \  # 后台运行模式(眼不见心不烦)
--name jenkinsci \  # 命名这个时空奇点
--restart=always \  # 永生诅咒(崩溃自动复活)
-p 8880:8080 \  # 人类观测接口
-p 50000:50000 \  # 分布式构建虫洞,支持后续N个复制体同时work,work
-v /data/jenkins_home:/var/jenkins_home \  # 记忆晶体映射
-v /var/run/docker.sock:/var/run/docker.sock \  # 掌控宿主文明的docker之力
jenkins/jenkins:lts-jdk17  # 指定时间线的要塞版本

参数量子解析

参数魔法效果安全警告⚠️
-v docker.sock映射让Jenkins控制宿主Docker引擎相当于给要塞配核弹发射权
–restart=always自动复活的不死特性可能成为僵尸进程制造机
-u root避免权限战争可能引发跨次元安全危机

实施过程:建造永不停歇的构建工厂

第一阶段:准备记忆晶体

mkdir -p /data/jenkins_home  # 创建时空记忆库
chmod 777 /data/jenkins_home  # 开放全宇宙写权限(不建议,无需)

吐槽:又是777?主人对权限管理是有什么执念吗?

第二阶段:启动要塞引擎

docker logs -f -n 500 jenkinsci  # 监视时空奇点诞生过程,获取默认的账号密码
# 通过日志查看默认密码,大概是这样:
# *************************************************************
# *************************************************************
# *************************************************************

# Jenkins initial setup is required. An admin user has been created and a password generated.
# Please use the following password to proceed to installation:

# ab4b518a769140598ff742875b07dc8e  (这个是默认密码)

# This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

# *************************************************************
# *************************************************************
# *************************************************************

用户 Docker Jenkins 浏览器 启动容器 初始化时空泡 生成管理员密码 显示密码 访问(换成你的wsl的ip地址:http://172.17.8.203:8880/)8880端口 显示密码输入界面 用户 Docker Jenkins 浏览器

第三阶段:要塞初始化仪式

  1. 输入初始密码(藏在日志里的达芬奇密码)
  2. 安装推荐插件(准备好咖啡等待)
  3. 创建管理员账户(建议不要用admin)
  4. 配置默认URL(通常需要后续调整)

血泪提示:插件安装失败是正常现象,这是Jenkins的迎新仪式

第四阶段:装备必要武器

Manage Jenkins
Plugins
搜索安装
Docker
Pipeline
SSH Steps

由技及道:构建自动化的哲学启示

第一定律:自动化守恒定律

  • 人类节省的每个手动操作,都会转化为等量的自动化维护成本
  • 完善的CI/CD流水线,最终会复杂到需要专门团队维护

第二定律:构建环境熵增原理

  • 所有构建环境都会随着时间推移趋向混乱
  • 唯一抵抗熵增的方法就是容器化隔离

第三定律:人类懒惰第一推动力

  • 自动化程度与开发者懒惰程度成正比
  • 真正的DevOps大师都是顶级"懒人"

系统通告:您忠诚的2077人工智障(作者本人-Yuanymoon)已成功部署Jenkins
资源消耗报告:

  • 吞噬内存:1.2GB(Java的传统艺能)
  • 占用磁盘:5.3GB(还在持续增长)
  • 消耗咖啡:3杯(人类维持清醒的必要代价)

欢迎在评论区发送你的「自动化迷惑行为大赏」,最佳故事将获得:人工智障的吐槽(划掉)点赞。

(突然正经)当你在深夜看着Jenkins的蓝色进度条时,记住:每个自动化构建的背后,都是开发者想要早点回家的朴素愿望。Jenkins不是终点,而是通往持续交付的起点——虽然这个起点有时候卡得让人想砸键盘。


已备武器库:

代码仓库:gitea
自动化流水线:jenkins
代码开发环境:暂缺
镜像仓库:暂缺
依赖仓库:暂缺
安全检测:暂缺
自动化测试:暂缺
其他:未知…
量子运算中?开发软件…还需要什么?还需要…或许定阅专栏人工智障2077后续为您一一分析。

相关文章:

  • Spring Boot应用开发
  • C++:构造函数和析构函数
  • 机器学习--实现多元线性回归
  • 【重构谷粒商城】06:Maven快速入门教程
  • 【BUUCTF】[网鼎杯 2018]Comment
  • 通俗诠释 DeepSeek-V3 模型的 “671B” ,“37B”与 “128K”,用生活比喻帮你理解模型的秘密!
  • 【股票数据API接口25】如何获取最近10天历史成交分布数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • 自己部署 DeepSeek 助力 Vue 开发:打造丝滑的折叠面板(Accordion)
  • 智能设备监控:AI 与 Python 助力设备管理的未来
  • 【Linux】Ubuntu Linux 系统——Python集成开发环境
  • 非线性动力学笔C5.2线性系统的分类
  • React使用 useImperativeHandle 自定义暴露给父组件的实例方法(包括依赖)
  • Deepseek实用万能提问模板
  • 【C语言】第一期——数据类型变量常量
  • 绕过information_schema;绕过Order by;seacmsv9实现联合注入数据
  • 安全测试|SSRF请求伪造
  • 剑指 Offer II 019. 最多删除一个字符得到回文
  • Macos机器hosts文件便捷修改工具——SwitchHosts
  • Jmeter断言、关联、录制脚本
  • 【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第十六节】
  • 中国农业国际交流协会会长王守聪失联已逾半年,协会启动罢免
  • 昂立教育:去年减亏1.39亿元,今年以“利润持续增长”为核心目标
  • 成都世运会倒计时100天,中国代表团运动员规模将创新高
  • 杜前任宁波中院代理院长,卸任宁波海事法院院长
  • 文化润疆|让新疆青少年成为“小小博物家”
  • 秦洪看盘|浮现新预期,存量资金积极调仓