Hajan
Hajan

Reputation: 75

How to deploy react project to ftp using Bitbucket Pipelines?

I am trying to set up bitbucket-pipelines.yml file to do the build and then deploy react project. There is my code below.

image: node:10.15.1 pipelines: default: # Pipelines that are triggered manually via the Bitbucket GUI - step: name: Build script: - yarn - yarn build - step: name: Deploy script: - apt-get update - apt-get install ncftp - ncftpput -v -u "$FTP_USERNAME" -p "$FTP_PASSWORD" -R $FTP_HOST $FTP_SITE_ROOT_DEV build/* - echo Finished uploading /build files to $FTP_HOST$FTP_SITE_ROOT

I am getting the result:
+ ncftpput -v -u "$FTP_USERNAME" -p "$FTP_PASSWORD" -R $FTP_HOST $FTP_SITE_ROOT_DEV build/* could not stat build/*: No such file or directory. ncftpput build/*: no valid files were specified.
It says that there is no build file or directory. but yarn build is actually build folder creates: react-scripts build

Upvotes: 1

Views: 1783

Answers (1)

VascoCC
VascoCC

Reputation: 500

From Atlassian documentation

Key concepts

A pipeline is made up of a set of steps.

  • Each step in your pipeline runs a separate Docker container. If you want, you can use different types of container for each step, by selecting different images

So, when you try to send it in Deploy Step it's not there because you built it in another container.

To pass files between steps you have to use Artifacts

image: node:10.15.1
pipelines:
  default: # Pipelines that are triggered manually via the Bitbucket GUI
      - step:
          name: Build
          script:
          - yarn
          - yarn build
          artifacts: # defining build/ as an artifact
          - build/**
      - step:
          name: Deploy
          script:
            - apt-get update
            - apt-get install ncftp
            - ncftpput -v -u "$FTP_USERNAME" -p "$FTP_PASSWORD" -R $FTP_HOST $FTP_SITE_ROOT_DEV build/*
            - echo Finished uploading /build files to $FTP_HOST$FTP_SITE_ROOT

Upvotes: 5

Related Questions