自動(dòng)化構(gòu)建任務(wù))
Vespene快速上手教程10分鐘跑通你的第一個(gè)自動(dòng)化構(gòu)建任務(wù)【免費(fèi)下載鏈接】_old_vespeneDISCONTINUED: a frozen fork will exist forever at mpdehaan/vespene項(xiàng)目地址: https://gitcode.com/gh_mirrors/ol/_old_vespene想用Vespene搭建屬于自己的自動(dòng)化構(gòu)建平臺(tái)卻擔(dān)心配置太復(fù)雜別擔(dān)心Vespene 是一個(gè)專注易用性的開源構(gòu)建系統(tǒng)與自動(dòng)化控制臺(tái)由 Ansible 作者 Michael DeHaan 打造基于 Python、Django 和 PostgreSQL 構(gòu)建開箱即用。這篇Vespene快速上手教程將帶你用 10 分鐘完成安裝、登錄并跑通第一個(gè)自動(dòng)化構(gòu)建任務(wù)全程無需編寫大量代碼。Vespene是什么一次搞懂這個(gè)自動(dòng)化構(gòu)建系統(tǒng)簡單說Vespene 是一個(gè)重新設(shè)計(jì)過的構(gòu)建系統(tǒng)和自動(dòng)化控制臺(tái)。它能做什么?持續(xù)集成CI自動(dòng)拉取源碼、執(zhí)行構(gòu)建腳本持續(xù)部署CD通過圖形化流水線串聯(lián)構(gòu)建→測試→部署安全隔離支持 sudo 與 Docker 容器兩種構(gòu)建隔離方式插件化自帶 8 類插件SCM、觸發(fā)器、變量、輸出全可擴(kuò)展橫向擴(kuò)展多臺(tái) Worker 機(jī)器并行處理任務(wù)無單點(diǎn)故障它的核心思想是不學(xué) DSL、不寫復(fù)雜配置一切通過網(wǎng)頁界面點(diǎn)擊完成。這套設(shè)計(jì)思路與官方文檔 docs/source/index.rst 中的理念一脈相承。安裝前的準(zhǔn)備工作三分鐘檢查環(huán)境開始之前先確認(rèn)你的環(huán)境滿足以下條件項(xiàng)目要求操作系統(tǒng)Ubuntu 18.04、CentOS 7、Fedora、Arch、openSUSE、macOS 等 Linux/Unix 系統(tǒng)PythonPython 3 及以上數(shù)據(jù)庫PostgreSQL安裝腳本可幫你自動(dòng)裝好權(quán)限一個(gè)具有 sudo 權(quán)限的賬號(hào) 沒有現(xiàn)成環(huán)境先在 macOS 或一臺(tái) Ubuntu 虛擬機(jī)上體驗(yàn)效果一樣。確認(rèn)無誤后克隆倉庫并進(jìn)入安裝目錄git clone https://gitcode.com/gh_mirrors/ol/_old_vespene ./vespene cd ./vespene/setup一鍵安裝步驟跑通6個(gè)腳本Vespene 貼心地準(zhǔn)備了 6 個(gè)安裝腳本按順序執(zhí)行即可每個(gè)腳本都很短且注釋清晰建議先讀一遍再運(yùn)行。配置公共參數(shù)編輯 setup/0_common.sh這里主要設(shè)置數(shù)據(jù)庫密碼和 Worker 配置務(wù)必修改默認(rèn)密碼安裝依賴bash 1_prepare.sh自動(dòng)安裝 Python 3 及 Python 依賴包配置數(shù)據(jù)庫bash 2_database.sh本地安裝 PostgreSQL 或連接已有數(shù)據(jù)庫初始化應(yīng)用bash 3_application.sh生成密鑰并執(zhí)行數(shù)據(jù)庫遷移創(chuàng)建超級(jí)用戶bash 4_superuser.sh交互式設(shè)置管理員賬號(hào)密碼配置服務(wù)bash 6_services.sh注冊 systemd 服務(wù)開機(jī)自啟?? 第 5 步只能在整個(gè)集群執(zhí)行一次另外setup/3_application.sh 生成的密鑰文件如果用于多節(jié)點(diǎn)集群務(wù)必復(fù)制到所有機(jī)器。運(yùn)行bash 5_tutorial.sh可選還能自動(dòng)創(chuàng)建示例項(xiàng)目、流水線和 Worker 池方便你邊看邊學(xué)——強(qiáng)烈建議新手執(zhí)行這一步。登錄Vespene界面創(chuàng)建你的第一個(gè)項(xiàng)目安裝完成后瀏覽器訪問http://服務(wù)器地址:8000用剛創(chuàng)建的超級(jí)用戶登錄。登錄后首先看到的就是項(xiàng)目列表這是 Vespene 所有工作的起點(diǎn)一個(gè)項(xiàng)目代表一個(gè)源碼倉庫 一個(gè)構(gòu)建腳本也可以只是一個(gè)獨(dú)立的腳本。點(diǎn)擊新建項(xiàng)目只需關(guān)注兩個(gè)必填項(xiàng)構(gòu)建腳本必須以#!/bin/bash這樣的解釋器行開頭Worker 池指定由哪些機(jī)器執(zhí)行這個(gè)任務(wù)配置Worker池構(gòu)建任務(wù)執(zhí)行的工人Worker 池本質(zhì)上是一個(gè)命名隊(duì)列。你可以在 Worker Pool 頁面創(chuàng)建并管理它們官方示例中就有g(shù)eneral、centos7-builders這樣的池子創(chuàng)建 Worker 池后還需要在 Worker 池配置中設(shè)置隔離方式和sudo 用戶教程環(huán)境可以直接填當(dāng)前用戶生產(chǎn)環(huán)境務(wù)必按 docs/source/security.rst 的建議配置配置完成后用下面的命令啟動(dòng) Worker 進(jìn)程它就會(huì)開始消費(fèi)隊(duì)列里的構(gòu)建任務(wù)ssh-agent python manage.py worker tutorial-pool手動(dòng)構(gòu)建項(xiàng)目點(diǎn)擊播放按鈕啟動(dòng)第一個(gè)自動(dòng)化構(gòu)建任務(wù)現(xiàn)在萬事俱備回到項(xiàng)目列表頁點(diǎn)擊項(xiàng)目右側(cè)的 ?播放按鈕你的第一個(gè)自動(dòng)化構(gòu)建任務(wù)就啟動(dòng)了。依次點(diǎn)擊構(gòu)建編號(hào)可以看到任務(wù)狀態(tài)從排隊(duì)中QUEUED變成運(yùn)行中RUNNING最后變?yōu)槌晒?。整個(gè)構(gòu)建流程是這樣的Worker 從隊(duì)列中認(rèn)領(lǐng)任務(wù)狀態(tài)變?yōu)?RUNNING準(zhǔn)備構(gòu)建目錄、加載 SSH 密鑰如有按需拉取源碼倉庫通過 sudo 或 Docker 隔離執(zhí)行構(gòu)建腳本實(shí)時(shí)回傳構(gòu)建輸出記錄狀態(tài)和返回碼加一點(diǎn)變量讓構(gòu)建腳本更聰明Vespene 內(nèi)置 Jinja2 模板引擎你可以用變量讓一個(gè)腳本適配多個(gè)場景。比如定義一個(gè)代碼片段任何項(xiàng)目的腳本里寫上{{ snippet }}就能自動(dòng)替換成片段內(nèi)容從此告別復(fù)制粘貼變量還會(huì)自動(dòng)寫入構(gòu)建目錄下的vespene.json文件方便任何支持 JSON/YAML 的外部工具讀取。進(jìn)階玩法10分鐘學(xué)會(huì)流水線配置單個(gè)構(gòu)建搞定后就該試試 Vespene 最酷的功能——圖形化流水線。不需要學(xué)任何 DSL完全通過界面點(diǎn)擊配置創(chuàng)建流水線 → 定義 Stage階段→ 把項(xiàng)目分配到對(duì)應(yīng)階段即可。流水線運(yùn)行規(guī)則非常直觀當(dāng)前階段全部成功后下一階段自動(dòng)并行觸發(fā)任一任務(wù)失敗后續(xù)階段自動(dòng)停止。常見的階段劃分是 build → test → deploy這正是持續(xù)部署CD的基礎(chǔ)。再配合Launch Questions啟動(dòng)提問你甚至可以把復(fù)雜部署包裝成一個(gè)傻瓜式按鈕——點(diǎn)擊后彈出問題表單根據(jù)用戶回答執(zhí)行不同邏輯非常適合把自動(dòng)化能力安全地下放給團(tuán)隊(duì)其他成員想深入了解官方的 docs/source/tutorial.rst、docs/source/pipelines.rst 和 docs/source/variables.rst 都值得通讀一遍。常見問題排查構(gòu)建不跑的3個(gè)原因?任務(wù)一直卡在排隊(duì)中多半是沒有運(yùn)行對(duì)應(yīng)名稱的 Worker 進(jìn)程檢查ssh-agent python manage.py worker 池名是否啟動(dòng)?構(gòu)建立即失敗大概率是 sudo 用戶或權(quán)限配置不當(dāng)回到 Worker 池配置頁檢查?頁面打不開確認(rèn)6_services.sh執(zhí)行成功或手動(dòng)執(zhí)行systemctl restart vespene.service總結(jié)你的下一個(gè)自動(dòng)化構(gòu)建任務(wù)至此你已經(jīng)在 10 分鐘內(nèi)完成了 Vespene 的安裝、配置、首個(gè)自動(dòng)化構(gòu)建任務(wù)還體驗(yàn)了流水線和變量模板兩大核心能力。接下來可以試著給項(xiàng)目配置 Webhook 實(shí)現(xiàn)提交代碼自動(dòng)構(gòu)建、接入 Slack 觸發(fā)器推送構(gòu)建通知、或者部署多個(gè) Worker 實(shí)現(xiàn)橫向擴(kuò)容。Vespene 的易用性遠(yuǎn)超傳統(tǒng) CI 工具動(dòng)手玩起來吧【免費(fèi)下載鏈接】_old_vespeneDISCONTINUED: a frozen fork will exist forever at mpdehaan/vespene項(xiàng)目地址: https://gitcode.com/gh_mirrors/ol/_old_vespene創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考