使用 lasso 加速部署 Laravel 项目

本来我们部署使用 envoyer, 但是每次在服务器上打包前端资源非常耗时。
某天,envoyer 部署流程中的 npm install && npm run prod 超时错误了。

打包后的前端资源文件如果用 Git 追踪就不用每次在部署时打包了,但是开发时不能在本地打包,否则一不小心就会冲突。

所以考虑利用 lasso 在 Github Action 中打包并上传资源文件到指定位置,部署时只要直接下载即可。

流程

  • 安装
    composer require sammyjo20/lasso
    php artisan vendor:publish --tag=lasso-config
  • Git 忽略相关文件
    # build files
    mix-manifest.json
    public/css/*
    public/js/*
    public/static/
    
    # lasso
    .lasso
    
  • 配置
    • storage.disk: lasso 使用 Laravel 的文件系统,所以从 config/filesystem.php 中选一块磁盘。
    • storage.upload_to:如果多个项目使用同一个磁盘,则必须保证这个目录名称唯一。
    • compiler.script: 部署阶段打包资源的命令,通常是打包前端资源文件。如: CI='' npm run prod
  • 在 Github Action job 中添加一项: php artisan lasso:publish --no-git
  • 在部署时运行 php artisan lasso:pull

注意事项

  • CI=true
    构建系统大多会设置此环境变量,来帮助程序检测构建是否发生在 CI 环境中。程序再根据此相应地更改行为,比如将警告当成错误。如果这不是你想要的,你可以在运行打包命令时覆盖此环境变量:CI='' npm run prod

Reference

  • https://dev.to/alexjustesen/laravel-cicd-pipeline-w-lasso-and-github-actions-53gm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值