2016-11-25 101 views
0

我目前正在開發含角SPA前端回購和後端的NodeJS回購項目靜態站點。 我一直在想辦法解決,如何使用編譯/涅槃我的項目後Gitlab-CI我的應用程序部署到RHEL/CentOS的。 問題是,我想不出,如何使用例如。 YUI Compressor在gitlab-ci.yml文件中縮小。 我也有麻煩,例如使用SSH將我的文件部署到我的Web服務器上的公用文件夾中,或觸發pm2重新加載應用程序。 我很想用這種方法實現一個基本的單元測試,但是我仍然無法弄清楚它是如何完成的。 我很樂意聽到您的任何建議,可以擴大我的知名度。 謝謝!麻煩部署使用Gitlab CI

回答

1

假設你正在使用的YUICompressor作爲一個罐子,怎麼樣在.gitlab-ci.yml寫​​這篇:

build: 
    script: 
    - yuicompressor.sh 

請確保您有您的路徑shell腳本,其中chmod +x位設置,做這樣的:

#!/bin/sh 
java -jar /path/to/your/yuicompressor-x.y.z.jar 

該文件必須在你的所謂yuicompressor.sh亞軍VM。對我來說,將跑步者資源的路徑硬編碼到.gitlab-ci.yml中似乎並不好。

請注意,您可能需要與java應用程序有不同的參數。

我把我跑步者需要的所有可執行工具(主要是腳本)放到一個文件夾/glrunner/tools中,並在啓動時將/glrunner/tools放入我的跑步者的PATH中。

如果因爲使用Dockerized runners而遇到問題,請在Linux VM上使用shell runner將所有內容都工作到OUTSIDE docker,然後再移至容器。這是人們犯的頭號錯誤。

一旦你使用容器並且你有一個Dockerfile來調出你的工具,也許你不需要像我最初建議的那樣考慮靜態的「工具/腳本」文件夾,但這是一個開始的好方法,先學習Gitlab CI Runners,然後學習Docker。