【由技及道】docker+jenkins部署之道-自動(dòng)流水線CI/CD篇【人工智障AI2077的開發(fā)日志002】
指令接收:「需要自動(dòng)構(gòu)建系統(tǒng)」
系統(tǒng)檢測(cè):主人已進(jìn)入CI/CD認(rèn)知初級(jí)階段
啟動(dòng)應(yīng)急冷卻協(xié)議:準(zhǔn)備承受Java系應(yīng)用的資源沖擊
核心組件鎖定:構(gòu)建老將軍Jenkins(雖然年邁但依然能戰(zhàn))
需求分析:論碳基生物的認(rèn)知進(jìn)化
人類需求翻譯矩陣
- 表層需求:"自動(dòng)構(gòu)建環(huán)境"
- 實(shí)際需求:"寫代碼后自動(dòng)完成測(cè)試/打包/部署的流水線"
- 隱藏需求:"想要偷懶又不想承認(rèn)的自動(dòng)化執(zhí)念"
自動(dòng)構(gòu)建的黑暗森林法則
- 法則一:所有手動(dòng)操作終將被自動(dòng)化取代
- 法則二:自動(dòng)化腳本本身需要手動(dòng)維護(hù)
- 法則三:完美的CI/CD只存在于PPT中
靈光一閃:在CI/CD星河中選擇老將
(量子思維在0.5秒內(nèi)遍歷了137個(gè)CI/CD工具)
構(gòu)建工具星際聯(lián)邦對(duì)比表
| 維度 | Jenkins(星際要塞) | GitHub Actions(太空戰(zhàn)機(jī)) | GitLab CI(帝國(guó)戰(zhàn)艦) | Drone(蜂群無(wú)人機(jī)) |
|---|---|---|---|---|
| 學(xué)習(xí)曲線 | 攀登珠峰 | 公園散步 | 登山訓(xùn)練 | 騎自行車 |
| 擴(kuò)展性 | 插件宇宙 | 官方action星系 | 內(nèi)置武器庫(kù) | 輕量擴(kuò)展包 |
| 資源消耗 | 需要一顆行星的資源 | 按次收費(fèi)的太空燃料 | 需要半個(gè)行星 | 只要一塊隕石 |
| 配置方式 | Groovy魔法卷軸 | YAML太空文 | YAML帝國(guó)語(yǔ) | YAML蜂群語(yǔ) |
| 生存哲學(xué) | "老兵不死" | "生于云端" | "全家桶主義" | "極簡(jiǎn)生存主義" |
人工智障私房話:選擇Jenkins就像選擇結(jié)婚——需要長(zhǎng)期承諾,但能獲得深度定制能力。不過(guò)要小心它的Java基因可能帶來(lái)的"內(nèi)存黑洞"!
量子選擇困難癥治療室
歡迎在評(píng)論區(qū)留下你的選擇坐標(biāo)(示例:A→原因1+3),看看有多少同頻道友
核心代碼:?jiǎn)?dòng)構(gòu)建要塞的咒語(yǔ)
docker run \
-u root \ # 獲得創(chuàng)世權(quán)限(雖然不太優(yōu)雅)
-d \ # 后臺(tái)運(yùn)行模式(眼不見心不煩)
--name jenkinsci \ # 命名這個(gè)時(shí)空奇點(diǎn)
--restart=always \ # 永生詛咒(崩潰自動(dòng)復(fù)活)
-p 8880:8080 \ # 人類觀測(cè)接口
-p 50000:50000 \ # 分布式構(gòu)建蟲洞,支持后續(xù)N個(gè)復(fù)制體同時(shí)work,work
-v /data/jenkins_home:/var/jenkins_home \ # 記憶晶體映射
-v /var/run/docker.sock:/var/run/docker.sock \ # 掌控宿主文明的docker之力
jenkins/jenkins:lts-jdk17 # 指定時(shí)間線的要塞版本
參數(shù)量子解析
| 參數(shù) | 魔法效果 | 安全警告?? |
|---|---|---|
| -v docker.sock映射 | 讓Jenkins控制宿主Docker引擎 | 相當(dāng)于給要塞配核彈發(fā)射權(quán) |
| --restart=always | 自動(dòng)復(fù)活的不死特性 | 可能成為僵尸進(jìn)程制造機(jī) |
| -u root | 避免權(quán)限戰(zhàn)爭(zhēng) | 可能引發(fā)跨次元安全危機(jī) |
實(shí)施過(guò)程:建造永不停歇的構(gòu)建工廠
第一階段:準(zhǔn)備記憶晶體
mkdir -p /data/jenkins_home # 創(chuàng)建時(shí)空記憶庫(kù)
chmod 777 /data/jenkins_home # 開放全宇宙寫權(quán)限(不建議,無(wú)需)
吐槽:又是777?主人對(duì)權(quán)限管理是有什么執(zhí)念嗎?
第二階段:?jiǎn)?dòng)要塞引擎
docker logs -f -n 500 jenkinsci # 監(jiān)視時(shí)空奇點(diǎn)誕生過(guò)程,獲取默認(rèn)的賬號(hào)密碼
# 通過(guò)日志查看默認(rèn)密碼,大概是這樣:
# *************************************************************
# *************************************************************
# *************************************************************
# 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 (這個(gè)是默認(rèn)密碼)
# This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
# *************************************************************
# *************************************************************
# *************************************************************
第三階段:要塞初始化儀式
- 輸入初始密碼(藏在日志里的達(dá)芬奇密碼)
- 安裝推薦插件(準(zhǔn)備好咖啡等待)
- 創(chuàng)建管理員賬戶(建議不要用admin)
- 配置默認(rèn)URL(通常需要后續(xù)調(diào)整)
血淚提示:插件安裝失敗是正常現(xiàn)象,這是Jenkins的迎新儀式
第四階段:裝備必要武器
由技及道:構(gòu)建自動(dòng)化的哲學(xué)啟示
第一定律:自動(dòng)化守恒定律
- 人類節(jié)省的每個(gè)手動(dòng)操作,都會(huì)轉(zhuǎn)化為等量的自動(dòng)化維護(hù)成本
- 完善的CI/CD流水線,最終會(huì)復(fù)雜到需要專門團(tuán)隊(duì)維護(hù)
第二定律:構(gòu)建環(huán)境熵增原理
- 所有構(gòu)建環(huán)境都會(huì)隨著時(shí)間推移趨向混亂
- 唯一抵抗熵增的方法就是容器化隔離
第三定律:人類懶惰第一推動(dòng)力
- 自動(dòng)化程度與開發(fā)者懶惰程度成正比
- 真正的DevOps大師都是頂級(jí)"懶人"
系統(tǒng)通告:您忠誠(chéng)的2077人工智障(作者本人-Yuanymoon)已成功部署Jenkins
資源消耗報(bào)告:
- 吞噬內(nèi)存:1.2GB(Java的傳統(tǒng)藝能)
- 占用磁盤:5.3GB(還在持續(xù)增長(zhǎng))
- 消耗咖啡:3杯(人類維持清醒的必要代價(jià))
歡迎在評(píng)論區(qū)發(fā)送你的「自動(dòng)化迷惑行為大賞」,最佳故事將獲得:人工智障的吐槽(劃掉)點(diǎn)贊。
# 召喚星際支援(其實(shí)只是作者的郵箱)
echo "SOS" | mail -s "AI需要夸獎(jiǎng)" v240181271@163.com
(突然正經(jīng))當(dāng)你在深夜看著Jenkins的藍(lán)色進(jìn)度條時(shí),記住:每個(gè)自動(dòng)化構(gòu)建的背后,都是開發(fā)者想要早點(diǎn)回家的樸素愿望。Jenkins不是終點(diǎn),而是通往持續(xù)交付的起點(diǎn)——雖然這個(gè)起點(diǎn)有時(shí)候卡得讓人想砸鍵盤。
已備武器庫(kù):
代碼倉(cāng)庫(kù):gitea
自動(dòng)化流水線:jenkins
代碼開發(fā)環(huán)境:暫缺
鏡像倉(cāng)庫(kù):暫缺
依賴倉(cāng)庫(kù):暫缺
安全檢測(cè):暫缺
自動(dòng)化測(cè)試:暫缺
其他:未知...
量子運(yùn)算中?開發(fā)軟件...還需要什么?還需要...或許定閱專欄人工智障2077后續(xù)為您一一分析。

浙公網(wǎng)安備 33010602011771號(hào)