配置Gitlab pages和Gitlab CI


  首先,Gitlab pages是很簡單的,至少比起github pages要簡單很多。

  Gitlab Pages的原理這是樣的:首先,當你新建一個Gitlab項目的時候,你同時也建了一個存儲庫。

  只要你的工程目錄的根目錄下有.gitlab-ci.yml文件,注意必須嚴格起這個名字。gitlab runner就會執行這個腳本文件。

  腳本的最終目的很簡單:把靜態文件放入名為public目錄下的文件夾內。Gitlab pages會一直去這個存儲庫的public目錄找。注意:這個public是指存儲庫的public,與項目結構無關。換言之,這個public目錄不可見。

  也就是說:當你在項目的根目錄下添加了.gitlab-ci.yml,且在腳本中將靜態文件正確地放入了public文件夾,gitlab page就會自動打開並部署,部署的域名將會默認分配。

  當然,如果你不想使用默認的配置,而是想部署到特定的域名和服務器,則需要在yml文件中進行一些docker的配置。

  開發者提交代碼后,runner檢索項目根目錄下名為.gitlab-ci.yml的文件,並執行文件中的腳本,腳本內容包括項目的運行,打包,緩存打包文件,轉移文件到public目錄以供gitlab pages使用。而gitlab pages會到public目錄中解析靜態文件成頁面。

  好,現在就來看一下我寫的一份CI腳本,首先說一下,CI的代碼風格類似於python這種,純靠縮進來區分層級關系的,所以書寫時,縮進是嚴格的

  

 

  下面是代碼注釋版版的:

  

building: //自己隨便命名的
  image: node:latest //node鏡像為最新版的,最好指定版本號
  stage: build //當前stage階段為build
  script: //build階段運行的腳本
    - npm install --progress=false --no-optional //根據package.json來安裝依賴 progress設為false是為了不打印安裝的具體進度,no optional是為了跳過npm推薦的但不是編譯必須的,也沒有寫在package.json里一些依賴,比如說查看源代碼等
    - npm run build //打包
  artifacts: //工件,可以緩存在gitlab的流水線記錄中,供直接下載
    expire_in: 3 days //工件緩存的有效時間
    paths: //路徑
      - dist //工件指向的目錄,這里指整個dist目錄

cache: //緩存
  paths: //路徑
    - node_modules/ //緩存node_mudules將大大提高ci運行的速度

pages: //隨便起的名字
  stage: deploy //當前階段為deploy
  script: //deploy階段運行的命令
    - rm -rf public/* //linux命令,遞歸無詢問刪除public目錄下所有文件- mv dist/* public //將dist目錄下的所有文件都移動到public目錄下
  artifacts: //工件緩存
    expire_in: 3 days //時效為3天
    paths: //路徑
      - public //緩存整個public目錄的文件
  only: 
    - dev //ceate pages下的所有操作只在dev分支上進行

  下載一個工件下來看看:

  

  可以發現我所言非虛。這時候我們把這個提交推到遠程。

  等待這個流水線跑完,在 項目 --> 設置 --> pages 中,可以看到線上頁面已經生成了。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM