中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

國外做機(jī)械設(shè)計任務(wù)的網(wǎng)站求職seo

國外做機(jī)械設(shè)計任務(wù)的網(wǎng)站,求職seo,臨沂龍文網(wǎng)站建設(shè),做日語網(wǎng)站數(shù)據(jù)庫變更一直是整個應(yīng)用發(fā)布過程中效率最低、流程最復(fù)雜、風(fēng)險最高的環(huán)節(jié),也是 DevOps 流程中最難以攻克的陣地。那我們是否能在具體的 CI/CD 流程中,像處理代碼那樣處理數(shù)據(jù)庫變更呢? DORA 調(diào)研報告 DORA(DevOps Research &am…

數(shù)據(jù)庫變更一直是整個應(yīng)用發(fā)布過程中效率最低、流程最復(fù)雜、風(fēng)險最高的環(huán)節(jié),也是 DevOps 流程中最難以攻克的陣地。那我們是否能在具體的 CI/CD 流程中,像處理代碼那樣處理數(shù)據(jù)庫變更呢?

file

DORA 調(diào)研報告

DORA(DevOps Research & Assessment)是一家專注于 DevOps 的研究機(jī)構(gòu), 在該領(lǐng)域以專業(yè)與客觀著稱。自 2014 年以來,DevOps 調(diào)研了全球范圍內(nèi)超過 32,000 名專業(yè)人員,并以年度報告的形式對外發(fā)布研究成果。DORA 明確指出,將數(shù)據(jù)庫變更納入應(yīng)用發(fā)布流程將顯著提升整體發(fā)布效率。

file

這一結(jié)論并不令人意外。問題是,該怎么做?

一個完整的基于 GitLab 的數(shù)據(jù)庫 CI/CD 工作流

file

通過 Bytebase,我們將實現(xiàn)一個完整的基于 GitLab 的數(shù)據(jù)庫 CI/CD 工作流:

  1. 開發(fā)者將變更 SQL 腳本提交到代碼分支;
  2. 觸發(fā) Bytebase 提供的 SQL 審核 CI 進(jìn)行自動化 SQL 審核,并給出修改建議;
  3. 修改完成后的 SQL 腳本合并入主分支;
  4. 自動觸發(fā)發(fā)布流程,腳本將被推送到 Bytebase 工具中;
  5. Bytebase 內(nèi)置的自動審核將對變更語句進(jìn)行二次確認(rèn),根據(jù)變更風(fēng)險等級自動匹配審批流,根據(jù)審批流審批;
  6. 審批后的語句可以通過手動或自動觸發(fā)在目標(biāo)庫中執(zhí)行;
  7. 變更完成后的數(shù)據(jù)庫最新 schema 結(jié)構(gòu)將被自動回寫入代碼倉庫;
  8. 確認(rèn)變更完成后,觸發(fā)下一階段的應(yīng)用發(fā)布流程。

通過 Bytebase 社區(qū)版實現(xiàn)

讓我們一步一步看看這個過程怎樣實現(xiàn)的。

第一步 通過 Docker 啟動 Bytebase,并配置外部 URL

ngrok 是一個反向代理工具,我們需要它的公網(wǎng)地址,以便從 GitHub 接收 webhooks。這里使用 ngrok 是出于測試目的;生產(chǎn)環(huán)境建議使用 Caddy。

file

  1. 登錄 ngrok Dashboard,并按照 Getting Started 步驟進(jìn)行安裝和配置。
  2. 在 Docker 中運(yùn)行 Bytebase: ``` docker run --init \

--name bytebase
--restart always
--publish 5678:8080
--health-cmd "curl --fail http://localhost:5678/healthz || exit 1"
--health-interval 5m
--health-timeout 60s
--volume ~/.bytebase/data:/var/opt/bytebase
bytebase/bytebase:2.8.0
--data /var/opt/bytebase
--port 8080

3. Bytebase 通過 Docker 成功啟動,你可以通過 `localhost:5678` 來訪問。注冊一個管理員賬號。
4. 在命令行運(yùn)行 ngrok http 5678 ,并獲得公共 URL。
![file](https://img-blog.csdnimg.cn/009fdddb447a428c939d4ce23f751487.png)
5. 登錄 Bytebase,點(diǎn)擊右上角的齒輪,將公共 URL 填入到網(wǎng)絡(luò)部分的外部 URL,點(diǎn)擊更新。### 第二步 在 Bytebase 種添加 GitLab.com 作為 Git Provider
1. 通過公共 URL 來訪問 Bytebase,點(diǎn)擊右上角的齒輪 > 集成 > GitOps,選擇 gitlab.com,點(diǎn)擊下一步。你會進(jìn)入到第二步,拷貝 Redirect URI。
![file](https://img-blog.csdnimg.cn/44168f05ae204aa7a26252d347148d1a.png)
2. 訪問 [GitLab](gitlab.com),點(diǎn)擊頭像,選擇下拉菜單中的偏好設(shè)置,在左側(cè)欄中選擇應(yīng)用。填寫表格如下并保存:- Name: Bytebase- Redirect URI: 從 Bytebase GitOps 配置里步驟 2 里復(fù)制- Confidential: Yes- Scope: api
![file](https://img-blog.csdnimg.cn/177c1e875bfb4404bb677e80ca5bcbca.png)
3. 從 GitLab 的應(yīng)用頁面復(fù)制 Application ID 和 Secret,然后粘貼到 Bytebase 的 GitOps 配置頁面步驟 2 里。
![file](https://img-blog.csdnimg.cn/10f1d2d53d0d41c2b316bdce4dc69993.png)### 第三步 在 Bytebase 中配置一個 GitOps 工作流
1. 訪問 [GitLab](gitlab.com),并建立一個新項目 bytebase-gitlabcom-demo。將 Visibility Level(可見級別)設(shè)置為公共。點(diǎn)擊建立項目。
2. 訪問 Bytebase,進(jìn)入項目 Sample Project。點(diǎn)擊 GitOps 標(biāo)簽,選擇 GitOps 工作流。點(diǎn)擊 配置 GitOps。
3. 選擇 GitLab.com(就是你在上一步配置的),然后選擇 bytebase-gitlabcom-demo 這個項目。你會來到步驟三,保持其它參數(shù)不變,滑動到頁面底部,勾選 基于 GitLab CI 開啟 SQL 審核。點(diǎn)擊完成。
Image
4. 系統(tǒng)會自動在 GitLab 中建立實現(xiàn) CI 的 MR,跳轉(zhuǎn)到 GitLab 中手動合并。
![file](https://img-blog.csdnimg.cn/6f3fe372a45a439d874079e9c4ae1797.png)
5. 回到 Bytebase,你會見到 GitOps 工作流已設(shè)置成功。### 第四步 建立一個 MR(合并請求)去觸發(fā) SQL 審核 CI
1. 點(diǎn)擊界面頂端環(huán)境,你可以看到在 Prod 最下方有連接了一個 SQL 審核策略,點(diǎn)擊編輯,你會看到有 3 條開啟的規(guī)則。它們將通過 CI 應(yīng)用。
![file](https://img-blog.csdnimg.cn/8496effb4cb644f0bec29baca556c0a3.png)
2. 為了測試 SQL 審核 CI,我們將創(chuàng)建一個合并請求來更改 Prod 數(shù)據(jù)庫 schema。不過,我們會讓它先違反下 SQL 審核策略。轉(zhuǎn)到 GitLab 上的 bytebase-gitlabcom-demo。單擊新建分支,命名為 add-nickname-table-employee,點(diǎn)擊創(chuàng)建分支。
3. 在新分支上創(chuàng)建子目錄 bytebase,并創(chuàng)建子子目錄 prod。在 prod 目錄中創(chuàng)建文件 `employee##202309262500##ddl##add_nickname_table_employee.sql`。將以下 SQL 腳本復(fù)制到文件中,并提交更改。

ALTER TABLE "public"."employee" ADD COLUMN "nick_name" text;

4. 創(chuàng)建包含上述提交的合并請求。SQL 審核 CI 將自動運(yùn)行并顯示失敗消息。不過,無論 CI 結(jié)果如何,你仍然可以合并它。
![file](https://img-blog.csdnimg.cn/799fcf5541834474b6ba7ad89c12ec17.png)
5. 更新 SQL 腳本并提交到當(dāng)前分支。SQL 審核 CI 將再次運(yùn)行并顯示通過信息。單擊合并。

ALTER TABLE "public"."employee" ADD COLUMN "nick_name" text NOT NULL DEFAULT '';

![file](https://img-blog.csdnimg.cn/23cfb9b72a2749b28d5072efa30935b8.png)
6. 返回 Bytebase 中的 Sample Project,你會看到推送事件產(chǎn)生了一個工單。
![file](https://img-blog.csdnimg.cn/8f2b608f167f4992aaa1d01fcb94ba06.png)
7. 點(diǎn)擊 issue/102 到問題詳情頁面。因為沒有配置審批流或手動發(fā)布,此工單會自動發(fā)布。您可以點(diǎn)擊查看變更來查看差異。
![file](https://img-blog.csdnimg.cn/4fd64b23390b4789a7097d54505fd773.png)## 通過 Bytebase 企業(yè)版解鎖更多功能
您可以升級到企業(yè)版,解鎖更多功能。點(diǎn)擊左下角的開始免費(fèi)試用并升級到企業(yè)版,點(diǎn)擊頂部實例,為現(xiàn)有的兩個實例分配證書。### 手動發(fā)布
在環(huán)境 > 2.Prod,找到發(fā)布策略,然后選擇 人工發(fā)布 > 需要 DBA 或者 Bytebase 實例所有者發(fā)布。
![file](https://img-blog.csdnimg.cn/62196525f4834add9a0d2a82804335a5.png)### 自定義審批
1. 訪問設(shè)置 > 安全性 & 策略 > 自定義審批。將項目 Project Owner -> DBA 設(shè)置為 DDL > 高風(fēng)險的審批流。
![file](https://img-blog.csdnimg.cn/b16fd75559d04824a56600621954c60c.png)
2. 訪問設(shè)置 > 安全性 & 策略 > 風(fēng)險中心。點(diǎn)擊添加規(guī)則,然后點(diǎn)擊加載第一個模板,點(diǎn)擊添加。
![file](https://img-blog.csdnimg.cn/9a13f5d476554e2eb54f94e055b0b1f4.png)### 最新 schema 寫回
Schema 變更完成后,Bytebase 會將最新 schema 寫回 Git 代碼庫。這樣,團(tuán)隊在 Git 中就始終有一個數(shù)據(jù)庫 schema 的標(biāo)準(zhǔn)真實源。
1. 返回 GitLab,新建一個分支 `add-country-table-employee`。在 bytebase/prod 目錄下創(chuàng)建文件 `employee##202309261700##ddl##add_country_table_employee.sql`。將以下 SQL 腳本復(fù)制到文件中并提交更改。

ALTER TABLE "public"."employee" ADD COLUMN "country" text NOT NULL DEFAULT '';


2. 返回 Bytebase,轉(zhuǎn)到新創(chuàng)建的工單,它符合 Project Owner  -> DBA 的審批流程。
![file](https://img-blog.csdnimg.cn/72d44f9def3440699874bf691a0a411e.png)
3. 按照審批流程點(diǎn)擊批準(zhǔn)后,橫幅將顯示等待發(fā)布。然后,負(fù)責(zé)人就可以點(diǎn)擊 發(fā)布了。
4. 回到 GitLab,在 `bytebase/prod/` 下有一個新的文件 `.employee##LATEST.sql`,包含了 Bytebase 寫回的最新 schema。### Schema 漂移
Bytebase 內(nèi)置了 schema 漂移檢測功能,可以檢測到意外的 schema 變更。讓我們使用 SQL 編輯器管理員模式來模擬一下。
1. 點(diǎn)擊右上角的終端圖標(biāo)(SQL 編輯器)。你將跳轉(zhuǎn)到 SQL 編輯器。點(diǎn)擊管理員模式。在此模式下所做的一切與直接連接服務(wù)器相同,Bytebase 不會記錄。
2. 選擇左側(cè)的 (Prod) Employee,粘貼并運(yùn)行以下腳本:

ALTER TABLE "public"."employee" ADD COLUMN "city" text NOT NULL DEFAULT '';

```

  1. 返回 Bytebase 主頁,點(diǎn)擊頂部的數(shù)據(jù)庫, 選擇 Prod 下的 employee。點(diǎn)擊現(xiàn)在同步??吹匠晒ο⒑?#xff0c;刷新頁面。你將看到 schema 漂移。你可以在實例詳情頁配置自動掃描,以避免手動同步。 file
  2. 訪問異常中心,也會看到 schema 漂移。

總結(jié)

有了 Bytebase,你就有了一套完整的 GitLab 數(shù)據(jù)庫 CI/CD 工作流程。您可以將此工作流程應(yīng)用到自己的項目中,并根據(jù)自己的需要進(jìn)行定制。 Bytebase 也支持 GitHub,Bitbucket 以及 Azure DevOps。具體的配置步驟可以查看文檔。


💡 你可以訪問官網(wǎng),免費(fèi)注冊云賬號,立即體驗 Bytebase。

http://m.risenshineclean.com/news/58498.html

相關(guān)文章:

  • 個人網(wǎng)站可以做資訊嗎?網(wǎng)絡(luò)推廣課程培訓(xùn)
  • 潁州網(wǎng)站建設(shè)最近新聞?wù)?/a>
  • 優(yōu)惠購網(wǎng)站怎么做的青島網(wǎng)站建設(shè)與設(shè)計制作
  • 佛山做公司網(wǎng)站地推項目平臺
  • 做動態(tài)文字的網(wǎng)站杭州網(wǎng)站定制
  • 做網(wǎng)站建設(shè)的公司有哪些方面建設(shè)網(wǎng)站公司
  • 教育網(wǎng)站如何做seo網(wǎng)絡(luò)運(yùn)營團(tuán)隊
  • 域名怎樣連接到網(wǎng)站外貿(mào)推廣哪個公司好
  • 網(wǎng)站地圖制作怎么做?360網(wǎng)站排名優(yōu)化
  • 電影網(wǎng)站做seo愛站關(guān)鍵詞
  • 網(wǎng)站seo設(shè)計百度手機(jī)助手app
  • 做網(wǎng)站的術(shù)語域名注冊平臺哪個好
  • 一個大佬做的本子網(wǎng)站專業(yè)seo站長工具
  • 做搞機(jī)網(wǎng)站廣告公司經(jīng)營范圍
  • 怎么做批量的網(wǎng)站檢查網(wǎng)頁設(shè)計制作網(wǎng)站教程
  • 深圳定制西裝哪家好seo優(yōu)化網(wǎng)站模板
  • 中文網(wǎng)站模板免費(fèi)下載域名??烤W(wǎng)頁推廣大全2021
  • 包裝設(shè)計網(wǎng)站排行榜十大接單推廣平臺
  • 微商城 微網(wǎng)站制作360應(yīng)用商店
  • 新河網(wǎng)招聘信息seo積分優(yōu)化
  • 誰有wap網(wǎng)站掌門一對一輔導(dǎo)官網(wǎng)
  • 安徽做網(wǎng)站杭州seo網(wǎng)絡(luò)推廣
  • 做網(wǎng)站要的圖片斗魚百度關(guān)鍵詞排名工具
  • 醫(yī)院網(wǎng)站建設(shè)策劃案模板b2b平臺免費(fèi)推廣網(wǎng)站
  • 門戶網(wǎng)站的基本特征多選題seo整站優(yōu)化外包
  • 怎樣制作自己公司的網(wǎng)站西安百度關(guān)鍵詞優(yōu)化
  • 什么網(wǎng)站做家電測評淘寶網(wǎng)店運(yùn)營
  • 做視頻網(wǎng)站公司要怎么做的最新國內(nèi)新聞事件今天
  • 酒店賓館型網(wǎng)站開發(fā)網(wǎng)站是怎么做的
  • 石家莊好用的招聘網(wǎng)站公司網(wǎng)站設(shè)計與制作