Bitbucketへpush -> pipelinesでjekyll build + 成果物をXreaにFTPで転送 をやってみました。Bitbucket piplinesの詳細は Bitbucketのページ などをみてください。

環境変数の登録

BitbucketのサイドメニューからRepository settings > Deploymentsを開きます。

今回はdeplyment: productionとしているので、 🔓 ProductionのVariablesにFTP_PASSWORDを登録します。 ※[Add]を押す前にSecuredのチェックを忘れずに入れておきます。

bitbucket-piplines.ymlの追加

sasscのビルドに時間がかかっているようなので、 imageをRubyからJekyllに変更しています。

実際に追加したbitbucket-pipelines.ymlはこんな感じ。

image: jekyll/jekyll:latest

pipelines:
  default:
    - step:
        name: Build and deploy
        deployment: production
        script:
          - bundle install
          - JEKYLL_ENV=production jekyll build
          - pipe: atlassian/ftp-deploy:0.3.3
            variables:
                USER: username
                PASSWORD: $FTP_PASSWORD
                SERVER: s000.xrea.com
                REMOTE_PATH: /public_html
                LOCAL_PATH: ${BITBUCKET_CLONE_DIR}/_site
                EXTRA_ARGS: "--exclude=log/ --exclude=.fast-cgi-bin/"

まとめ

これだけでBitbucketへpushする度にpipelinesでjekyll buildが実行され、 成果物がXreaにFTPで転送されます。

BitbucketのFree planでは利用できるビルド時間が少ないので、 がっつり使う場合は有料プランへのアップグレードを検討したほうが よいでしょう。