Skip to content

htdcx/code-push-server-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

e5de1c1 · Nov 27, 2024

History

43 Commits
May 24, 2024
May 6, 2024
May 24, 2024
Sep 2, 2024
Nov 14, 2024
May 24, 2024
Nov 27, 2024
Nov 27, 2024
May 6, 2024
Jul 11, 2024
May 24, 2024
May 6, 2024
Nov 27, 2024
May 24, 2024
May 6, 2024
May 6, 2024
Nov 27, 2024

Repository files navigation

code-push-server-go

Codepush server go is compatible with react-native-code-push. Need to be used with code-push-go. Only supported react-native

Support version

Support client version

Support storage

  • Local
  • AWS S3
  • FTP

Before installation, please ensure that the following procedures have been installed

  • mysql
  • golang
  • redis

Install code-push-server

git clone https://github.com/htdcx/code-push-server-go.git
cd code-push-server-go
import code-push.sql to mysql

Configuration mysql,redis,storage

cd config
vi (app.json or app.dev.json or app.prod.json) 
# app.json
{
    "mode":"prod" #run read config app.{mode}.json
}
# app.prod.json
{
    "DBUser": {
        "Write": {
            "UserName": "",
            "Password": "",
            "Host": "127.0.0.1",
            "Port": 3306,
            "DBname": ""
        },
        "MaxIdleConns": 10,
        "MaxOpenConns": 100,
        "ConnMaxLifetime": 1
    },
    "Redis": {
        "Host": "127.0.0.1",
        "Port": 6379,
        "DBIndex": 0,
        "UserName": "",
        "Password": ""
    },
    "CodePush": {
        "FileLocal":(local,aws,ftp),
        "Local":{
            "SavePath":"./bundles"
        },
        "Aws":{
            "Endpoint":"",
            "Region":"",
            "S3ForcePathStyle":true,
            "KeyId":"",
            "Secret":"",
            "Bucket":""
        },
        "Ftp":{
            "ServerUrl":"",
            "UserName":"",
            "Password":""
        }
    },
    "UrlPrefix": "/",
    "ResourceUrl": (nginx config url or s3),
    "Port": ":8080",
    "TokenExpireTime": 30 (day)
}

Build

#MacOS pack GOOS:windows,darwin
CGO_ENABLED=0 GOOS=linux  GOARCH=amd64 go build -o code-push-server-go(.exe) main.go

#Windows pack
set GOARCH=amd64
set GOOS=linux #windows,darwin
go build -o code-push-server-go(.exe) main.go

#copy config/app.(model).json and config/app.json to run dir 

#Linux server
chmod +x code-push-server-go

#run
./code-push-server-go

Default user name and password

  • Username:admin
  • Password:admin

Change password and user name

 Version >= 1.0.5 :./code-push-go change_password
 Version <= 1.0.4 :Change mysql users tables (password need md5)
./code-push-go login -u (userName) -p (password) -h (serverUrl)

Configuration client react-native-code-push

#ios add to Info.plist
<key>CodePushServerURL</key>
<string>${CODE_PUSH_SERVER_URL}</string>

#android add to res/value/strings.xml
<string moduleConfig="true" name="CodePushServerUrl">${CODE_PUSH_SERVER_URL}</string>

License

MIT License Read