当前位置:论坛首页 > 第三方应用

【宝塔一键部署】项目包构建文档

置顶 精华 2019-6-12 14:54 [复制链接] 17 29335

使用场景:
1、项目开发商发布项目到宝塔一键部署

注意事项:
1、仅接受项目开发商提交发布,非项目官方提交的发布将无法通过审核
2、项目包大小在50MB以内
3、发布前需通过实名认证
4、首次版本审核我们将通过开发者资料中的联系方式对发布者身份进行校验,介时发布者需要有项目官网的权限才能通过认证
5、非商业应用可以直接发布,商业应用请先联系客服咨询
6、请在上架宝塔一键部署后的一个月内,在官方安装文档中增加使用宝塔一键部署相关说明


发布方式:
1、登录宝塔开发者中心:https://www.bt.cn/developer
2、登录宝塔帐号,并申请成为开发者
3、创建应用,类型选【一键部署】
4、上传应用版本
5、审核上线


项目包构建说明
1、请将安装包直接打包成zip压缩包,包内必需包含auto_install.json配置文件
2、上传版本前请通过面板提供的【导入项目】功能导入到面板,然后测试项目包是否符合预期

3.压缩包文件结构
./...项目文件和目录
./nginx.rewrite    #如果有nginx.rewrite,将自动导入到nginx重写规则(非必需)
./.htaccess            #apache URL重写规则(非必需)
./iis.rewrite          #如果有iis.rewrite 将自动导入到iis URL重写规则(非必需)
./composer.json  #如果有composer.json且找不到composer.lock的情况下,将执行composer install (非必需)
./import.sql           #自动将此sql导入到数据库 (非必需,自动安装时用)
./insatll.sh           #如果有insatll.sh,部署时将自动被执行,在SHELL脚本中可通过$(pwd)来获取网站根目录, 通过$1来获取网站主域名 (非必需)
./auto_install.json #宝塔一键部署配置文件(必需)

./auto_install.json配置文件示例:
  1. {
  2.         "php_ext":"opcache,ioncube",                        //依赖的PHP扩展,仅针对【安装扩展】列表(如:redis,opcache等)中的扩展,PHP默认编译扩展(如:mysqli,curl等)无需安装
  3.         "chmod":[
  4.                                 {"mode":754,"path":"/wp-admin"},
  5.                                 {"mode":700,"path":"/wp-includes"}
  6.                         ],        //要独立设置权限的文件或目录
  7.         "success_url":"/index.php",                                //安装入口或后台管理入口
  8.         "php_versions":"53,54,55,56,70,71,72,73",        //支持的PHP版本
  9.         "db_config":"data/config.php",        //数据库配置文件,请将用户名/数据库名称/密码分别替换成 BT_DB_USERNAME/BT_DB_NAME/BT_DB_PASSWORD(不自动安装请留空)
  10.         "admin_username":"admin",                        //后台管理默认用户名(不自动安装请留空)
  11.         "admin_password":"we7.cc",                //后台管理默认密码(不自动安装请留空)
  12.         "run_path":"/",                                        //相对于根目录的运行目录(如ThinkPHP5.X 应该是 /public)
  13.         "remove_file":["/install","/temp","/.user.ini"],       //部署完成后要被删除的文件或目录
  14.         "enable_functions":["system","exec"] //要被解禁的PHP函数
  15. }
复制代码

注意:JSON文件不能有注释,请将相关注释内容清除后再放入压缩包


在install.sh 中获取信息示例:
  1. #获取主域名(网站名称)
  2. domain=$1

  3. #获取配置文件位置
  4. config_file=/www/server/panel/vhost/nginx/${domain}.conf

  5. #获取PHP版本
  6. php_version=$(cat $config_file|grep 'enable-php'|grep -Eo "[0-9]+"|head -n 1)

  7. #获取PHP执行路径
  8. php_bin=/www/server/php/$php_version/bin/php

  9. #获取根目录:
  10. root_path=$(cat $config_file|grep 'root '|awk '{print $2}'|sed "s/;//")
  11. #或
  12. root_path=$(pwd)

  13. #获取域名列表
  14. domain_list=$(cat $config_file|grep server_name|head -n 1|sed "s/server_name//"|sed "s/;//"|xargs)
复制代码




示例包1:z-blog(自动安装)
示例包2:WordPress(只部署不安装)


如有疑问请加宝塔开发者QQ交流群: 471729998










使用道具 举报 只看该作者 回复
发表于 2019-6-12 14:55:51 | 显示全部楼层
支持下良哥的分享
使用道具 举报 回复 支持 反对
发表于 2019-6-12 15:54:57 | 显示全部楼层
本帖最后由 痞子哥 于 2020-3-4 14:31 编辑

终于出来了个比较明了的机制和说明了,以后看到不错的程序,可以发给开发者看看。

大道消息:腾讯云服务器1折起秒杀 每天4场 有需要的塔友可以看看
使用道具 举报 回复 支持 反对
发表于 2019-6-13 00:15:24 | 显示全部楼层
火钳支持留名~
使用道具 举报 回复 支持 反对
发表于 2019-6-13 10:52:33 | 显示全部楼层
好,威武,支持,顶一个!
使用道具 举报 回复 支持 反对
发表于 2019-6-13 10:59:21 | 显示全部楼层
厉害了,我的哥,支持!
使用道具 举报 回复 支持 反对
发表于 2019-6-18 06:34:02 | 显示全部楼层
这功能很不错。
使用道具 举报 回复 支持 反对
发表于 2019-6-18 12:49:47 | 显示全部楼层
jtbc应该上。
使用道具 举报 回复 支持 反对
发表于 2019-6-19 10:42:07 | 显示全部楼层
这个可以有
使用道具 举报 回复 支持 反对
发表于 2019-6-26 11:44:55 | 显示全部楼层
功能很不错。
使用道具 举报 回复 支持 反对
发表于 2019-7-17 18:26:18 | 显示全部楼层
项目包构建说明中的宝塔一键部署配置文件的名称auto_install.json拼错了(错误的拼成了auto_insatll.json)
使用道具 举报 回复 支持 反对
发表于 2019-11-2 10:49:03 | 显示全部楼层
希望再加个依赖的nginx选项,像openresty....lua脚本必须跑openresty(ngx_lua)上
使用道具 举报 回复 支持 反对
发表于 2019-11-12 17:48:22 | 显示全部楼层
为什么上传了logo ,上传应用审核通过了 ,软件商店的logo,不显示呢 。
使用道具 举报 回复 支持 反对
发表于 2019-12-7 20:56:47 | 显示全部楼层
本地导入有个问题,配置了db_config,但是BT_DB_USERNAME/BT_DB_NAME/BT_DB_PASSWORD这些配置不会换
使用道具 举报 回复 支持 反对
发表于 2020-1-12 17:12:31 | 显示全部楼层
为什么我部署一个PHP就自动关闭一次?
使用道具 举报 回复 支持 反对
12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表