欧美三级国产三级日韩三级_亚洲熟妇丰满大屁股熟妇_欧美亚洲成人一区二区三区_国产精品久久久久久模特

微信小程序工程化之持續(xù)集成方案(學(xué)到了!) - 新聞資訊 - 云南小程序開(kāi)發(fā)|云南軟件開(kāi)發(fā)|云南網(wǎng)站建設(shè)-昆明葵宇信息科技有限公司

159-8711-8523

云南網(wǎng)建設(shè)/小程序開(kāi)發(fā)/軟件開(kāi)發(fā)

知識(shí)

不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷(xiāo)的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷(xiāo)工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!

您當(dāng)前位置>首頁(yè) » 新聞資訊 » 小程序相關(guān) >

微信小程序工程化之持續(xù)集成方案(學(xué)到了!)

發(fā)表時(shí)間:2021-1-4

發(fā)布人:葵宇科技

瀏覽次數(shù):58

本文將簡(jiǎn)單介紹一下持續(xù)集成的概念,并手把手帶你在你的微信小程序項(xiàng)目中完成屬于你的持續(xù)集成方案。


什么是前端工程化

所有能降低成本,并且能提高效率的事情總稱(chēng)為工程化。在前端項(xiàng)目中能夠減少重復(fù)工作、擴(kuò)展 javascript\html\css 本身的語(yǔ)言能力、解決功能復(fù)用和變更問(wèn)題、解決開(kāi)發(fā)和產(chǎn)品環(huán)境差異問(wèn)題、任何時(shí)間任何地點(diǎn)生成可部署的軟件、解決發(fā)布流程問(wèn)題,都屬于前端工程化。


什么是持續(xù)集成

持續(xù)集成是前端工程化中的一部分,是一種軟件開(kāi)發(fā)實(shí)踐,即團(tuán)隊(duì)開(kāi)發(fā)成員經(jīng)常集成他們的工作,通常每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成。每次集成都通過(guò)自動(dòng)化的構(gòu)建(包括自動(dòng)化編譯,自動(dòng)化測(cè)試,自動(dòng)化發(fā)布)來(lái)驗(yàn)證項(xiàng)目代碼,從而盡早地發(fā)現(xiàn)錯(cuò)誤。


Web項(xiàng)目持續(xù)集成怎么做

Web項(xiàng)目的持續(xù)集成方案選擇比較多,并且相對(duì)成熟,這里介紹一下 gitlab-ci 持續(xù)集成方案。

這種方式的原理就是為項(xiàng)目在自己的 linux 服務(wù)器安裝并注冊(cè) gitlab-runner ,注冊(cè)會(huì)有一個(gè) token ,服務(wù)器上運(yùn)行 gitlab-runner 后, runner 會(huì)輪詢(xún)的發(fā)送帶 tokenhttp 請(qǐng)求給 gitlab ,如果 gitlab 有任務(wù)了,(一般是 git push ),那么會(huì)把任務(wù)信息返回給 runner ,然后 runner 就開(kāi)始調(diào)用注冊(cè)時(shí)選的 Executor 來(lái)執(zhí)行項(xiàng)目根目錄下的配置文件 .gitlab-ci.yml ,執(zhí)行后把結(jié)果反饋給 gitlab

此時(shí)我們可以編寫(xiě) .gitlab-ci.yml 腳本,比如設(shè)定當(dāng) test 分支發(fā)生 push 時(shí),自動(dòng)運(yùn)行測(cè)試用例、自動(dòng)構(gòu)建代碼、自動(dòng)將代碼更新到測(cè)試人員在測(cè)的環(huán)境等任何你想在提測(cè)時(shí)需要做的事情。當(dāng) mergemaster 時(shí),自動(dòng)更新線上代碼完成上線等各種你想在上線時(shí)做的事情。

這里只要考慮的足夠全面,那么之后的項(xiàng)目開(kāi)發(fā)你只需要 push 到對(duì)應(yīng)的分支, gitlab-runner 會(huì)自動(dòng)完成你想做的所有構(gòu)建、提測(cè)、上線操作。減少重復(fù)工作,這就是持續(xù)集成的意義所在。


手把手教你完成小程序的持續(xù)集成方案

小程序的持續(xù)集成可以繼續(xù)使用 gitlab-ci 的方式,但由于小程序的構(gòu)建、提測(cè)、提交體驗(yàn)版等操作都需要依賴(lài)于 微信開(kāi)發(fā)者工具 ,而微信開(kāi)發(fā)者工具只有 WindowsMac 版,所以我們需要一臺(tái) Windows 服務(wù)器來(lái)運(yùn)行 gitlab-runner 。


1. 準(zhǔn)備工作
  • 一臺(tái) Windows 服務(wù)器

  • 一個(gè)權(quán)限為 Maintainergitlab 項(xiàng)目


2. 安裝必要軟件

在這臺(tái) Windows 服務(wù)器上安裝以下軟件

  • Git

  • Node.js

  • 微信開(kāi)發(fā)者工具


3. 配置gitlab-runner
  1. 首先下載 gitlab-runner

    https://docs.gitlab.com/runner/install/windows.html
    

    下載完成后將其移動(dòng)到合適的路徑后重命名為 gitlab-runner.exe

  2. Windows 服務(wù)器中打開(kāi) powershell 并進(jìn)入 gitlab-runner.exe 所在目錄,然后執(zhí)行以下命令

.\gitlab-runner.exe register

  1. Please enter the gitlab-ci coordinator URL

    打開(kāi)想要設(shè)置 CIgitlab 項(xiàng)目,進(jìn)入頁(yè)面 settings > CI/CD > Runners > Expand ,找到 Set up a specific Runner manually ,輸入 Specify the following URL during the Runner setup: 下的地址

  2. Please enter the gitlab-ci token for this runner

    輸入 Use the following registration token during setup: 下的token字符串

  3. Please enter the gitlab-ci description for this runner

    輸入一個(gè)描述

  4. Please enter the gitlab-ci tags for this runner

    輸入一個(gè)標(biāo)簽,該標(biāo)簽對(duì)應(yīng)該runner

  5. Please enter the executor

    這里輸入 shell 就好

此時(shí)刷新 gitlab 頁(yè)面會(huì)新增一個(gè) gitlab-runner

  1. 執(zhí)行命令 install

.\gitlab-runner.exe install
  1. 執(zhí)行命令 start

.\gitlab-runner.exe start

此時(shí)刷新 gitlab 頁(yè)面,之前的 gitlab-runner 會(huì)更新為以下?tīng)顟B(tài),表示 gitlab-runner 配置完成,已經(jīng)可以開(kāi)始工作。


4. 修改gitlab-runner服務(wù)的登錄賬號(hào)

由于 gitlab-runner 服務(wù)默認(rèn)登錄賬號(hào)為 authority\system ,而這個(gè)賬號(hào)在執(zhí)行微信開(kāi)發(fā)者工具命令行時(shí)會(huì)出現(xiàn)報(bào)錯(cuò),所以我們需要更改 gitlab-runner 服務(wù)的登錄賬號(hào)為正確賬號(hào)并重啟該服務(wù)。

右擊計(jì)算機(jī) -> 管理 -> 服務(wù)和應(yīng)用程序 -> 服務(wù)

找到 gitlab-runner 服務(wù)

右擊 gitlab-runner -> 屬性 -> 登錄 -> 此賬號(hào) -> 輸入可以正確使用微信開(kāi)發(fā)者工具命令行的賬號(hào)和密碼 -> 確定 -> 重啟動(dòng)此服務(wù)

修改完成后賬號(hào)會(huì)正確被更改

5. 配置微信開(kāi)發(fā)者工具

  1. 使用你的微信賬號(hào)登錄開(kāi)發(fā)者工具

  2. 設(shè)置 -> 安全 -> 服務(wù)端口 -> 開(kāi)啟

6. 配置.gitlab-ci.yml

在項(xiàng)目根目錄創(chuàng)建 .gitlab-ci.yml 文件,并填寫(xiě)以下配置。

stages: # 定義階段用于執(zhí)行任務(wù)
  - build
  - deploy

build_job: # 定義 build 任務(wù),名稱(chēng)可以隨意命名,只是為了方便理解和區(qū)分
  stage: build # 該任務(wù)屬于 build 階段,要嚴(yán)格與stages中定義的命名一致
  only:
    - master
  tags: # tags 指定運(yùn)行在哪個(gè) Runner 上,這里需要在我們剛注冊(cè)的 Runner 運(yùn)行,和注冊(cè)時(shí)的 mp_win7 匹配
    - mp_win7
  before_script: # 執(zhí)行script之前的鉤子
    - whoami
  script: # 執(zhí)行下面腳本,這里可以自定義配置您的構(gòu)建任務(wù)
    - echo "build" # 可以在這里執(zhí)行您項(xiàng)目的構(gòu)建編譯操作

deploy_job: # 定義 deploy 任務(wù),名稱(chēng)可以隨意命名,只是為了方便理解和區(qū)分
  stage: deploy # 該任務(wù)屬于 deploy 階段
  only:
    - master
  tags: # tags 指定運(yùn)行在哪個(gè) Runner 上,這里需要在我們剛注冊(cè)的 Runner 運(yùn)行,和注冊(cè)時(shí)的 mp_win7 匹配
    - mp_win7
  script: # 執(zhí)行下面腳本,這里可以自定義配置您的部署任務(wù)
    - C:\software\wechatDevTool\cli.bat -u 0.1.0@"$PWD" --upload-desc 最新的描述 # 這里使用微信開(kāi)發(fā)者工具提供的命令行工具進(jìn)行上傳體驗(yàn)版操作

修改完成后將代碼 push 到遠(yuǎn)程倉(cāng)庫(kù),會(huì)自動(dòng)觸發(fā)CI任務(wù)。

此時(shí)登錄微信小程序官網(wǎng)后臺(tái),就可以看到剛剛 push 代碼時(shí)由 gitlab-ci 自動(dòng)上傳的體驗(yàn)版了。


7. 持續(xù)集成項(xiàng)目方案

以下為本人最近在做的 360瞭望臺(tái)小程序的持續(xù)集成方案,您可以根據(jù)自己的需要加以改進(jìn),并完成屬于你的持續(xù)集成方案。

  1. 由于編寫(xiě) .gitlab-ci.yml 時(shí)需要用到微信開(kāi)發(fā)者工具的命令行,所以為了便于團(tuán)隊(duì)成員使用,我開(kāi)發(fā)了一個(gè) node.js 腳本,并發(fā)布為 npm 模塊,用于在 .gitlab-ci.yml 調(diào)用 Windows 虛擬機(jī)中的上傳命令。

  2. 約定團(tuán)隊(duì)開(kāi)發(fā)流程,開(kāi)發(fā)新需求時(shí)創(chuàng)建 feature/0.5.1 (需求版本號(hào)) 分支,當(dāng) push 代碼時(shí)會(huì)自動(dòng)觸發(fā) CI 任務(wù),并在虛擬機(jī)修改為 test 環(huán)境后提交體驗(yàn)版。

  3. 發(fā)完測(cè)試報(bào)告后可以將小程序提審時(shí),我們需要將 feature/0.5.1 分支 mergeaudit 分支,此時(shí)會(huì)自動(dòng)觸發(fā) CI 任務(wù),并在虛擬機(jī)修改為 production 環(huán)境后提交體驗(yàn)版。 audit 分支需要添加為受保護(hù)的分支,不允許直接 push 代碼,如果審核沒(méi)通過(guò)那么可以以 audit 為基礎(chǔ)新建 feature/0.5.2 分支進(jìn)行調(diào)整后重新 mergeaudit 。

  4. 當(dāng)審核通過(guò)后我們需要將 audit 分支代碼合并到 master 分支, master 分支應(yīng)該永遠(yuǎn)與線上代碼保持同步。

相關(guān)案例查看更多