1

問題:我在通過Wercker將Jekyll build文件夾部署到FTP服務器時遇到困難。Jekyll&Wercker - 如何部署子目錄

我一直在使用Wercker進行我正在研究的Jekyll站點的連續集成。使用下面的腳本,構建過程:jekyll buildjekyll doctor似乎按預期工作。

我的部署步驟應該將「_site」文件夾上傳到我的FTP服務器。我目前正在使用duleorlovic的ftp-deploy wercker步驟。它目前正在上傳整個目錄,而不僅僅是生成文件夾。

然而,傑奇使用/_site文件夾作爲所在部位被內置到目錄...我怎麼能限制我上傳到剛剛/_site build文件夾?

謝謝。

當前wercker.yml如下:

# Wercker Configuration 
# continuous delivery platform that helps software developers 
# build and deploy their applications and microservices 

box: ruby 
build: 
    steps: 

    # Install dependencies 
    - bundle-install 

    # Execute jeykyll doctor command to validate the 
    # site against a list of known issues. 
    - script: 
     name: jekyll doctor 
     code: bundle exec jekyll doctor 

    - script: 
     name: jekyll build 
     code: bundle exec jekyll build --trace 

deploy: 
    steps: 
    - duleorlovic/ftp-deploy: 
     destination: $FTP_SERVER 
     username: $FTP_USERNAME 
     password: $FTP_PASSWORD 
     timeout: 15 
     remote-file: remote.txt 

回答

0

解決的問題。

顯然Worker提供了一個名爲$WERCKER_OUTPUT_DIR的環境變量。該目錄是在構建步驟通過時被傳送到部署步驟的文件夾。如果沒有傳遞任何東西,則部署步驟只使用根目錄(也就是而不是您的構建文件夾)。

工作wercker.yml包含jekyll build步驟如下:

- script: 
     name: jekyll build 
     code: bundle exec jekyll build --trace --destination "$WERCKER_OUTPUT_DIR" 

我沒能找到很多對此事Wercker文檔,因爲它似乎是在版本之間的過渡Their授權修建的,但我發現在一個如何使用wercker的例子中解決方案。

您可以看到使用的輸出目錄引導他們How Wercker Works.

0

通過傳遞cwd:參數可以改變工作目錄步驟中的例子(根據wercker doc):

deploy: 
    steps: 
    - duleorlovic/ftp-deploy: 
     cwd: _site/ 
     destination: $FTP_SERVER 
     username: $FTP_USERNAME 
     password: $FTP_PASSWORD 
     timeout: 15 
     remote-file: remote.txt