问题:我无法通过Wercker将Jekyll构建文件夹部署到FTP服务器。
我一直在使用Wercker来继续整合我正在研究的Jekyll网站。使用下面的脚本,构建过程:jekyll build
和jekyll doctor
似乎按预期工作。
我的部署步骤应该上传" _site"文件夹到我的FTP服务器。我目前正在使用duleorlovic的ftp-deploy wercker步骤。它目前正在上传整个目录,而不仅仅是构建文件夹。
但是,Jekyll使用/_site
文件夹作为构建网站的目录...我怎样才能将上传限制为/_site
构建文件夹?
感谢。
当前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 :(得分:0)
解决了这个问题。
显然,Worker提供了一个名为$WERCKER_OUTPUT_DIR
的环境变量。此目录是在构建步骤通过时通过管道传递到部署步骤的文件夹。如果没有传递任何东西,部署步骤只使用了根目录(又名不是你的构建文件夹)。
工作wercker.yml
包含jekyll build
步骤,如下所示:
- script:
name: jekyll build
code: bundle exec jekyll build --trace --destination "$WERCKER_OUTPUT_DIR"
我无法在此问题上为Wercker文档找到更多信息,因为它似乎在版本之间的转换中,但我在如何使用wercker的示例中找到了解决方案。
您可以在指南How Wercker Works.
中看到使用输出目录的示例答案 1 :(得分: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