Skip to content
This repository has been archived by the owner on Apr 9, 2024. It is now read-only.

shoebox/go-appcenter

Repository files navigation

go-appcenter

dl Go Report Card Build Status

AppCenter.ms upload and distribution client made in Go language.

Features

  • ✅ Upload and (optionally) distribute a binary to the AppCenter.ms platform
  • ✅ Supports APK, IPA, PKG, DMG, ZIP, MSI... upload
  • ✅ Statically compiled, do not require any runtime dependencies
  • ✅ Parallelized chunks upload
  • ✅ Up-to-date with latest API

Usage

Demo

demo

Command line interface

Basic help:

NAME:
   Golang AppCenter.ms - Upload and distribute binaries on the AppCenter platform

USAGE:
   main [global options] command [command options] [arguments...]

VERSION:
   0.2.0

COMMANDS:
   upload
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --apiKey value  AppCenter.ms API key [$AppCenterAPIKey]
   --help, -h      show help (default: false)
   --version, -v   print the version (default: false)

Upload command

Arguments

Arg Mandatory Description
--file YES AppCenter API Key
--appName YES Application name in AppCenter
--ownerName YES Application owner in AppCenter
--buildNumber NO Build number
--buildVersion NO Build version string
--releaseId NO Release ID
--groupName NO Group to distribute binary to

Arguments as environment values

Command arguments can be configured via environment variables.

The variable in question being:

Name Description
AppCenterAPIKey AppCenter API Key
AppCenterOwnerName AppCenter application owner
AppCenterAppName AppCenter application name

How resolve AppName and OwnerName in AppCenter

Refer to the application URL in AppCenter:

https://appcenter.ms/orgs/<OWNER_NAME>/apps/<APP_NAME>

Help

NAME:
   main upload -

USAGE:
   main upload [command options] [arguments...]

DESCRIPTION:
   Upload binary to AppCenter for distribution. And optionally distribute it

OPTIONS:
   --file value, -f value   [$AppCenterFileName]
   --appName value         AppCenter app name [$AppCenterAppName]
   --ownerName value       AppCenter owner name [$AppCenterOwnerName]
   --buildNumber value     Release build number
   --buildVersion value    Release build version
   --releaseId value       Release version Id (default: 0)
   --groupName value       Group name to distribute to the release [$groupName]
   --help, -h              show help (default: false)

Via Docker

Image is hosted on DockerHub

To run it:

docker run sho3box/go-appcenter:latest

Dependencies

The library uses a GO module to manage dependencies.

License

go-appcenter is licensed under the MIT license. See LICENSE for more info.