Skip to content

应用内网发布 | iOS OTA (Over-the-Air) | APP publish website like fir.im | 适用于企业 iOS & Android 内网发布测试使用,方便管理和分发 APP 包

License

Notifications You must be signed in to change notification settings

pluosi/app-host

Repository files navigation

AppHost

MacDown logo

Build Status License Gems

介绍

一个轻量级的包托管网站,app-host 主要用于 iOS 和 Android 的包管理,作用类似于fir.im,不同之处是可以自由部署在内网,方便了公司项目保密。并且代码开源也可以方便根据各自需求进行定制化开发。

目前能实现

1.新建包
2.包底下新建渠道( iOS,安卓,各种环境都归为渠道,例如 iOS 生产,iOS 沙盒,iOS 越狱版,Android 生产等)
3.渠道下面上传包
4.帐号和权限管理
5.api 和页面表单上传包
6.解析包信息,包括 iOS 的包类型 ADHOC 还是 release,udid,安卓的签名证书等
7.我编不下去了···哈哈~~

推荐用法 Docker 公有镜像

1. 把~/shared目录添加到Docker -> Preferences... -> Resources中(授权访问)
2. docker run --name app_host -v ~/shared:/app/shared -p 3000:8686 -d tinyc/app-host:lastest

用法 2 Docker 自己编译

1. > git clone https://github.com/pluosi/app-host.git /opt/app-host
2. > cd /opt/app-host
5. > ./docker/launcher bootstrap -v #该步骤依赖网络,所以如果网络不稳定报错了,可以重试几次
6. > ./docker/launcher start
7. 尝试访问 http://localhost:3000 ,如果不希望用3000端口,可以手动修改 docker/launcher 里的`local_port`值
ps:数据库和上传的文件会保存在 ./shared 文件夹中

用法 3 源码运行

1. > git clone https://github.com/pluosi/app-host.git /opt/app-host
2. > cd /opt/app-host
4. 修改 config/secrets.yml 中 `production下的secret_key_base` ,可以运行`rake secret`得到
5. bundle install
6. rails s 运行测试环境
7. 关于部署到生成环境的话请参照一下 rails puma 部署等教程,需要修改一下 config/deply.rb 的部署地址
8. 尝试访问 http://localhost:3000

关于 https

如果需要用到ipa下载,必须配置 https,举例 ng 的配置参考

//https_app.conf
server {
    listen 443 ssl;
    server_name  ota.xxx.com;
    
    # access_log /var/log/nginx/ota.xxx.com_access.log;

    ssl_certificate      /home/xxx.com/nginx/public.pem;
    ssl_certificate_key  /home/xxx.com/nginx/private.key;
    ssl on;

    location / {
        proxy_set_header  Host $http_host;
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Proto https;
        proxy_set_header  X-Forwarded-Port $server_port;
        proxy_pass http://172.21.35.62:3000; #此处改为 docker 服务的地址
    }
}

server {
    listen 80;
    server_name ota.xxx.com;
    rewrite ^(.*)$  https://$host$1 permanent;
}

已知问题

  1. apk 包如果是非图片 logo,会无法显示 logo,因为目前还没实现 xml logo 的解析
  2. 如果不配置 https,ipa 将无法安装(苹果的限制)

License

AppHost is released under the MIT license. See LICENSE for details.

联系作者

MacDown logo

预览

MacDown logo

MacDown logo

MacDown logo

About

应用内网发布 | iOS OTA (Over-the-Air) | APP publish website like fir.im | 适用于企业 iOS & Android 内网发布测试使用,方便管理和分发 APP 包

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published