iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 28
0

前情提要

各位邦友,廢話不多話,今天要把build好的程式「打包」起來。

exclude.lst(新增檔案)

打包程式時,要「排除」的檔案(給zip執行用)

  node_modules/*
  .git/*
  • node_modules:套件相依,一定是一直要保持「更新」,所以在Travis CI上執行yarn取得的套件,是不打包的,因為程式打包後,上到機器的時候,還要再一次執行yarn來取得套件。當然另一個原因是…node_modules的檔案數跟大小也非常的可觀。
  • git:維持版控軟體git運作的檔案,當然也要排除。

package.json(新增片斷)

  "scripts": {
    "travis": "rm -rf dist && mkdir -p dist && zip -r dist/server.zip . -x@exclude.lst",
  },
  • zip:小編還真不熟它的語法,所以研究了一下(這邊就只說明上面的語法而已),用man zip看文件實在是太長了。
    • 語法:zip options archive inpath inpath ...
    • options-r > 根據你指定的路徑,遞迴地加入所有子路徑(資料夾)。
    • archivedist/server.zip > 壓縮檔的路徑。(前面有先建好dist)。
    • inpath. > 資料夾或檔案路徑(當前目錄)。
    • ...-x@exclude.lst > 要「排除」的檔案(pattern)。

.travis.yml(新增設定)

  install:
    # - yarn
  script:
    - yarn build
    - yarn test
    - yarn travis
  • Job Lifecycle:Travis CI根據你的「開發語言」,提供一個預定的Build的環境,預設一組「階段」(phase)集合。有兩大部份
    • install:安裝任何(需要)的相依。
      這邊故意把yarn註解起來,看是否還是會預設執行yarn
    • script:執行build的指令。

travis執行結果


PS:小編電腦是windows,所以local執行yarn travis是會報錯的。小編鐵人第一天,有教大家安裝WSL(Windows Subsystem for Linux)。大家可以自己local試試。

專案參考:
GitHub slack-demo
Travis CI slack-demo Builds


待續…


上一篇
= = 部門 Slack DevOps 頻道 GG了 > Travis to S3 I
下一篇
= = 部門 Slack DevOps 頻道 GG了 > Travis to S3 III
系列文
AWS高手同事離職後不止30天30

尚未有邦友留言

立即登入留言