良哥 发表于 2019-6-12 14:54:55

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

使用场景:
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重写规则(非必需)
./import.sql         #自动将此sql导入到数据库 (非必需,自动安装时用)
./insatll.sh         #如果有insatll.sh,部署时将自动被执行,在SHELL脚本中可通过$(pwd)来获取网站根目录, 通过$1来获取网站主域名 (非必需)
./auto_install.json #宝塔一键部署配置文件(必需)

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


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

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

#获取PHP版本
php_version=$(cat $config_file|grep 'enable-php'|grep -Eo "+"|head -n 1)

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

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

#获取域名列表
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











发表于 2024-1-5 14:35:08

花里胡哨的一大堆,都是中看不中用的割韭菜软件,建议只收录知名免费开源软件,那些玩套路的不要收录,安装后又不能用,还要花钱买

mrwu888 发表于 2019-6-12 14:55:51

:lol支持下良哥的分享

痞子哥 发表于 2019-6-12 15:54:57

本帖最后由 痞子哥 于 2020-4-12 16:19 编辑

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

大道消息:腾讯云服务器1折起秒杀 每天4场 有需要的塔友可以看看

还俗二师兄 发表于 2019-6-13 00:15:24

火钳支持留名~

百夫长统计 发表于 2019-6-13 10:52:33

好,威武,支持,顶一个!

XYG丶星宇 发表于 2019-6-13 10:59:21

厉害了,我的哥,支持!{:5_141:}

jzykk 发表于 2019-6-18 06:34:02

这功能很不错。https://www.bt.cn/bbs/static/image/smiley/heyao/timg%20(5).jpg

shadoweb 发表于 2019-6-18 12:49:47

jtbc应该上。

bao81997167 发表于 2019-6-19 10:42:07

这个可以有

梧桐雨 发表于 2019-6-26 11:44:55

功能很不错。

xcsoft 发表于 2019-7-17 18:26:18

项目包构建说明中的宝塔一键部署配置文件的名称auto_install.json拼错了(错误的拼成了auto_insatll.json)

宝塔用户_hkyptq 发表于 2019-11-2 10:49:03

希望再加个依赖的nginx选项,像openresty....lua脚本必须跑openresty(ngx_lua)上

hj960511 发表于 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这些配置不会换

宝塔用户_ceenud 发表于 2020-1-12 17:12:31

为什么我部署一个PHP就自动关闭一次?
页: [1] 2 3 4
查看完整版本: 【宝塔一键部署】项目包构建文档