如何使用Bitbucket管道将项目反应到ftp?

问题描述 投票:0回答:1

我正在尝试设置bitbucket-pipelines.yml文件来进行构建,然后部署反应项目。我的代码如下。

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

我得到了结果: + 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. 它说没有构建文件或目录。但纱线构建实际上是构建文件夹创建:react-scripts build

reactjs deployment bitbucket bitbucket-pipelines
1个回答
3
投票

来自Atlassian documentation

关键概念

管道由一组步骤组成。

  • 管道中的每个步骤都运行一个单独的Docker容器。如果需要,可以通过选择不同的图像为每个步骤使用不同类型的容器

因此,当您尝试在Deploy Step中发送它时,它不存在,因为您在另一个容器中构建它。

要在步骤之间传递文件,您必须使用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
© www.soinside.com 2019 - 2024. All rights reserved.