以下是一个使用Bitbucket管道构建Create-react-app、压缩并通过FTP上传、然后在服务器上解压缩的解决方法:
image: node:12.18.4
pipelines:
default:
- step:
name: Install dependencies
script:
- npm install
- step:
name: Build and compress the app
script:
- npm run build
- tar -zcvf app.tar.gz build/
- step:
name: Upload to FTP server
script:
- apt-get update && apt-get install -y lftp
- lftp -c "open -u $FTP_USERNAME,$FTP_PASSWORD $FTP_HOST; mirror -R ./build /path/to/ftp/directory"
- step:
name: SSH into server and unzip the app
script:
- apt-get update && apt-get install -y openssh-client
- sshpass -p $SSH_PASSWORD ssh $SSH_USERNAME@$SSH_HOST "cd /path/to/ftp/directory && tar -zxvf app.tar.gz"
在FTP服务器上配置一个用于上传文件的用户,并记录FTP主机、用户名和密码。
在服务器上安装openssh-server并配置SSH登录。
在Bitbucket存储库的设置中,添加以下环境变量:
FTP_USERNAME: FTP用户名
FTP_PASSWORD: FTP密码
FTP_HOST: FTP主机
SSH_USERNAME: SSH用户名
SSH_PASSWORD: SSH密码
SSH_HOST: SSH主机
将Bitbucket管道文件推送到存储库中,触发管道运行。
该解决方案做了以下工作:
请根据实际情况修改路径和文件名。确保在FTP和SSH服务器上设置正确的路径和权限。