I am using a documentation generator that behind uses react. To generate the documentation I do the following steps:
"yarn install"
"yarn build"
Then i get a folder called build/ with all static content. I would like to send this static content inside this folder into a S3 bucket.
I read aws S3 pipeline yml file, but how, before I send the folder I build it? (with the yarn commands)?
I was thinking something like:
a) Get contents from my repo
b) yarn install
c) yarn build
If everything went ok:
d) Get files inside build/ and copy to S3
Can anyone help me create this pipeline file?
Thank you for your question!
After build step your pipeline should create build artifacts, so the next step could use them to deploy to AWS S3 bucket.
You could use and extend this pipeline:
image: node:10.15.3
# Workflow Configuration
pipelines:
default:
- step:
name: Build and Test
caches:
- node
script:
- yarn install
# CI=true in default variables for Bitbucket Pipelines https://support.atlassian.com/bitbucket-cloud/docs/variables-in-pipelines/
- yarn test
- yarn run build
artifacts:
- build/**
- step:
name: Deploy to Production
deployment: Production
clone:
enabled: false
script:
# sync your files to S3
- pipe: atlassian/aws-s3-deploy:0.4.5
variables:
AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
AWS_DEFAULT_REGION: $AWS_DEFAULT_REGION
S3_BUCKET: 'my-bucket-name'
LOCAL_PATH: 'build'
But before, please, make sure that node image is right for your build environment or modify it.
More details you could find in the Configure bitbucket-pipelines.yml guide and in the repository with Template react deploy.
Cheers,
Oleksandr
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.