背景介紹上一個輪回,我花了三篇文章的時間著重向大家介紹了在條件有限的情況下,如何優雅地進行前端發版和迭代。慶七一,熱烈慶祝香港回歸,人民生活水平越來越好,昨天上午我自掏腰包買了臺服務器,決定由冷兵器腳本編程部署時代進入熱武器CICD 時代。 而今,山河無恙,飛機腳本終于不用再飛寫第二遍了,敬禮! ![]() gitlab & jenkins: 我代表 CICD 接管構建部署,你們可以下崗,我們上崗! 手工苦力勞動:那我走。。。。。 需求分析我們在處理計算機問題時,應該去思考這樣一個理念,“能坐著就不站著,能躺著就不坐著,懶對于程序員來說是一種美德,應該發揚光大”。關于前端發版這塊的內容,就很雞肋,食之無味棄之可惜。這塊東西很死板,沒什么成長的,沒什么經驗的朋友可能就是一通 npm 命令,再一頓拖拉彈拽 GUI 操作,然后完事,稍微有點覺醒或者被動覺醒的,可能會抽象出一些計算機邏輯釋放一些腳本技能做這件事,再者之,公司老板家里條件好的或者是 VP、CTO 重視的,可能會搞一套比較規范的 DevOps 流程,本質還是在與時間賽跑,把一些低優先級或者阻塞工作流的事情,交給對應的擅長做這件事的法器去做,剩下的時間,大家該劃水的劃水,該學習的學習,該找對象的找對象,勸君莫惜金縷衣,勸君惜取少年時,花開堪甚至須折,莫待無花空折枝。 環境要求可能眼尖的同學會看到我上圖中有個 SecoClient,它是沸騰廠開發的一個偉屁恩客戶端,由于 gitlab 服務器是在另一套體系環境,所以要連上它,但是坑比的點在于,連上它以后,在公司的其他同事將無法訪問我們連接網線的局域網環境,在家的話那就更不行了,抱著試試看的心態去試試連上 secoclint 臨時分配的網絡可以進行局域網訪問嘛,發現也還是不行,實屬無奈,何以解憂,唯有砸錢。 官網寫的配置要求是:
這個很重要,如果你是買了云廠商 1G1 核的迷你型機,那我勸你別往下搞了,卡成翔警告。2G2 核勉強磕磕碰碰能跑, 最好是給一個 4G4 核的機子,那就差不多了。 樓主我選的是 2G2 核,外加配了點虛擬內存,不是很理想,如果不是 secoclient 的原因,我其實更傾向于用 Linux 去做這件事。 Jenkins 環境安裝與配置安裝這里是以 Windows 下的開發環境為例的,所以我會介紹下 windows 的,Linux 后面也會提及一下。 安裝 jenkins 的前置條件是電腦有 JAVA 運行的環境,安裝 jdk 也很講究,不是所有版本都可以,你可以簡單地記一下 8,11,17 這三個,具體地參見: 這里介紹下沸騰廠的鏡像,有需要的君可自取, 具體地安裝就是一路火花帶閃電地 next,然后配置 JAVA_HOME,例如我的就是 Jenkins 安裝教程官網已經寫的非常詳細了,我不再贅述,請看這里: 如果你是 Linux 用戶,可以看我很久以前積灰的文章, Linux 下安裝 JDK: jenkins 插件配置這里簡單粗暴一點地做法就是點擊推薦安裝對應地插件,然后裝一下 NodeJS、Publish Over SSH、Git plugin 這幾個插件,對應前端構建綽綽有余了。如果你插件安裝不上,網上一種做法是切換成清華源啥的,你可以試一下,我覺得更好地做法是,我建議你科學 fq。 通用配置Step 1: 點擊首頁的 Manage Jenkins 進行配置 ![]() Step 2: 點擊 Configure System 進行系統配置 具體的關注以下幾點, Jenkins Location 里的 Jenkins URL 填你的公網 IP,郵箱隨便填個如果你不用郵件服務的話, gitlab 可仿照如下配置: publish over ![]() Step 3: 點擊 Global Tool Configuration 進行全局工具配置 這里你主要關注下 git 就好, 如果你不配置,很有可能拉不下來,所以這里點一下 ![]() Step 4: 點擊 Security 下的 manage credentials ![]() 你可以仿照下圖,添加適合你的 gitlab API token 或者賬戶密碼 ![]() gitlab 的 API TOken 是這樣的 ![]() 好了,到這里安裝配置相關的大致就 OK 了。 結合 gitlab 進行持續構建這里我以構建集成一個 vue 項目為例--臥龍機構端,向大家介紹如何結合 Jenkins 進行持續構建。 Step1:創建項目 ![]() Step2:填寫配置 這里描述隨便寫點東西吧。 gitlab 服務器配置 ![]() gitlab 倉庫配置 構建前對服務器做點事 構建命令 構建命令后執行, 最后點擊保存就好了,如果你點應用的話,其實就是暫存的意思。 ![]() 最后點擊 build now 就可與開始構建了 ![]() 點擊構建歷史可以看到相關的歷史, 點擊控制臺,可以看到相關的構建日志,這方便了回溯,定位問題的根源。 好的,至此教程差不多就接近尾聲了, 你學會了嗎? 介紹一個新思路我本意是想搞一個去中心化jenkins,畢竟公司給發的美帝聯心想有20GB內存,足夠撐起jenkins的一片天,但是問題就在于,之前提到的secoclient連上了以后,我就與我的同事失聯了,雖然我在我本地可以搞持續集成,但是他們不可以訪問的到,獨樂樂不如眾樂樂,讓對應的同事共享下我的Jenkins,我們對應的開發人手養一只Jenkins,好像也不太現實,畢竟windowser。emmm,如果你是mac或者linux,那完全是可以搞去中心化的Jenkins的,人手養一只Jenkins,用到的時候放出來,潤潤潤,不用的時候把它停掉,豈不是美哉,我簡單地貼一份配置,具體的有興趣的讀者看這里:https://hub./_/jenkins
FAQ
全局安裝下
卸載 vite,升級到最新版可破此功.
建議自強,嗯,科學地自強哈.
主要還是各方面受限,因為對應搞 gitlab 服務器的人,他沒裝 gitlab runner,所有也無法運行一些 gitlab.yml 配置,進行 CICD 構建。如有你有興趣了解,具體的可以看這里,https://about./features/continuous-integration/ 最后希望我老板如果不小心看到這篇文章,能感動地給我漲點薪水吧,因為自費買服務器我這都快吃不起東北大米了,23333333。 |
|