iT邦幫忙

0

公司主機使用npm

各位大大好
由於小弟的公司較傳統
主機只有基本的php運作環境
目前小弟有一個系統想使用webpack + vue.js來設計
鑒於小弟知識淺薄 現在的開發方式是在我自己本機端打包好再上傳至主機

想請問一下各位大大
正常應該是不是在公司主機要裝npm
然後一直開著npm run watch
這樣就可以只要上傳.vue檔案
主機就會更新js了

或是實務上還有什麼其他方法讓主機打包的呢?

2
Han
iT邦新手 1 級 ‧ 2021-07-16 15:39:01
最佳解答

傳統環境的話,感覺這樣就已經極限了... 我自己是用docker的方式,只要寫原始碼,後續將程式push至github,再到伺服器pull下來執行docker-compose build,接著用新的image執行新的程式。

考慮到貴公司的開發環境,打包後上傳應該就是極限了XD
用watch的話應該是開發中才會這樣做吧?正式環境還是要打包後比較妥當

或是可以考慮將原始碼推到伺服器,寫一個shell script
自動將程式打包好發到你的 web server 目錄

僅提供參考..

現在比較實務的做法應該是,不負責任說明..(都沒實際架設過XD)

  • CI/CD 自建 gitlab 搭配他們的服務部署專案
  • jenkins 不斷監聽git事件來驅動腳本來部署
  • ansible 沒用過不清楚..
Han iT邦新手 1 級 ‧ 2021-07-16 15:42:18 檢舉

主要應該還是要看貴公司可以建置到何種程度的自動化部屬機制,才知道應該如何提供最佳解

st474ddr iT邦新手 4 級 ‧ 2021-07-17 21:52:12 檢舉

感謝大大分享實際的開發經驗
這是非常珍貴的
大大的建議也都是很不錯的面向
我再來嘗試看看這些方向

1
u2420123
iT邦新手 3 級 ‧ 2021-07-16 16:30:20

太多方式了
在本地
1.把code上到 svn or github
2.在到主機裡下指令udpate下來
3.結束

st474ddr iT邦新手 4 級 ‧ 2021-07-17 21:53:19 檢舉

原來如此
搭配自動CI/CD
應該更能節省步驟

1

基本上,目前你的做法以是比較對的方式。
因為一般 npm run ????(非BULID)等開發模式。
雖然的確可以在更新時就會自動處理沒錯。
但這樣的模式其實很操效能及記憶體的。
在開發的情況下還無所謂。

但正式機的話。還是會建議打包好再上傳。

st474ddr iT邦新手 4 級 ‧ 2021-07-17 21:54:31 檢舉

感謝大大回覆

那看起來單人開發用我這種型式應該是不奇怪的XDD~

多人協作應該就是要推到git server上就是了

我們早期的做法,也是GIT到主機上,但並不是直接放到運行環境下。
而是放到一個生產的地方。然後才直接線上BUILD到正式的環境上。

但這是因為機器是我們的才能這樣做。如果是客戶的機器。
一般原始碼不會直接給客戶(大多數)
我都是直接丟生成好的包上去而已。

st474ddr iT邦新手 4 級 ‧ 2021-07-19 14:12:38 檢舉

受益良多
/images/emoticon/emoticon33.gif

我要發表回答

立即登入回答