Skip to content
refresh-cw

GitHub Action

Docusaurus v2 S3 Sync

v0.0.2 Latest version

Docusaurus v2 S3 Sync

refresh-cw

Docusaurus v2 S3 Sync

Builds and syncs Docusaurus v2 site to S3 bucket

Installation

Copy and paste the following snippet into your .yml file.

              

- name: Docusaurus v2 S3 Sync

uses: brockneedscoffee/[email protected]

Learn more about this action in brockneedscoffee/s3-docusaurus-sync-action

Choose a version

GitHub Action to build docusaurus site and Sync S3 Bucket

This is a customized version of the s3-sync-action that uses the vanilla AWS CLI to sync a directory (either from your repository or generated during your workflow) with a remote S3 bucket. It also runs the command: yarn run build to build the docusaurs site for deployment.

Usage

main.yml Example

Place in a .yml file such as this one in your .github/workflows folder. Refer to the documentation on workflow YAML syntax here.

name: CI
on: [push]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - uses: brockneedscoffee/s3-docusaurus-sync-action@master
        env:
          AWS_DEFAULT_REGION: "us-east-1"
          AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
          AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
          AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

Configuration

The following settings must be passed as environment variables as shown in the example. Sensitive information, especially AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, should be set as encrypted secrets — otherwise, they'll be public to anyone browsing your repository's source code and CI logs.

Key Value Suggested Type Required Notes
AWS_DEFAULT_REGION The region where you created your bucket. Set to Full list of regions here. env Yes
AWS_S3_BUCKET The bucket name you want to publish the site to env or secret env Yes This does not have to be in the secrets but it makes it easier to manage
AWS_ACCESS_KEY_ID Your AWS Access Key. More info here. secret env Yes
AWS_SECRET_ACCESS_KEY Your AWS Secret Access Key. More info here. secret env Yes