1

问题:我无法通过 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
4

2 回答 2

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
于 2016-12-26T23:35:57.267 回答
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 中看到使用输出目录的示例。

于 2016-08-07T17:09:28.543 回答