@ragopor/myappcenter-cli
v1.2.2
Published
CLI tool for uploading builds to MyAppCenter
Maintainers
Readme
@ragopor/myappcenter-cli
Official CLI for MyAppCenter - Upload iOS and Android builds directly from your CI/CD pipeline.
Installation
npm install -g @ragopor/myappcenter-cliUsage
Basic Upload
myappcenter upload <file> --app-version <version> --build-number <number> --api-key <key>Examples
iOS Upload (with app token)
myappcenter upload app.ipa \
--app-version 1.0.0 \
--build-number 100 \
--api-key app_BBuJYPJcRwEx2o5VS7uvbxnEiDUsBhxLAndroid Upload (with app token)
myappcenter upload app.apk \
--app-version 1.0.0 \
--build-number 100 \
--api-key app_BBuJYPJcRwEx2o5VS7uvbxnEiDUsBhxLWith Additional Options
myappcenter upload app.ipa \
--app-version 1.2.3 \
--build-number 456 \
--api-key app_XXX \
--release-notes "Bug fixes and improvements" \
--groups "qa,beta-testers" \
--public \
--environment "staging" \
--git-commit "abc123" \
--git-branch "main"Options
| Option | Description | Default |
|--------|-------------|---------|
| --app-version <version> | App version (e.g., 1.2.3) | Required |
| -b, --build-number <number> | Build number | Required |
| --api-key <key> | API key (or use MYAPPCENTER_API_KEY env var) | Required |
| --api-url <url> | API URL | https://appcenter.true-app.com |
| --bundle-id <id> | Bundle ID (required for Android with user tokens) | - |
| --app-name <name> | App name (required for Android with user tokens) | - |
| --release-notes <notes> | Release notes | - |
| --groups <groups> | Comma-separated list of groups | - |
| --public | Make build publicly accessible | false |
| --environment <env> | Environment (dev, staging, production) | - |
| --git-commit <commit> | Git commit hash | - |
| --git-branch <branch> | Git branch name | - |
| --no-chunked | Disable chunked upload | Chunked is default |
Environment Variables
MYAPPCENTER_API_KEY- API key for authentication (instead of --api-key)
Programmatic Usage
const { uploadBuild } = require('@ragopor/myappcenter-cli');
await uploadBuild({
file: './app.ipa',
apiKey: 'your-api-key',
version: '1.2.3',
buildNumber: '456',
releaseNotes: 'Bug fixes'
});Features
- 🚀 Chunked upload by default for reliability (use --no-chunked to disable)
- 📱 Automatic platform detection from file extension (.ipa, .apk, .aab)
- 🔑 App token support - No need for bundle ID when using app-specific tokens
- 📊 Progress tracking with time remaining
- 🌐 Default API URL - No need to specify unless using custom server
- 🎯 CI/CD optimized with environment variable support
CI/CD Integration
GitHub Actions
- name: Upload to MyAppCenter
run: |
npm install -g @ragopor/myappcenter-cli
myappcenter upload ${{ github.workspace }}/app.ipa \
--app-version ${{ env.VERSION }} \
--build-number ${{ github.run_number }} \
--api-key ${{ secrets.MYAPPCENTER_API_KEY }} \
--environment production \
--git-commit ${{ github.sha }} \
--git-branch ${{ github.ref_name }}GitLab CI
upload_to_myappcenter:
script:
- npm install -g @ragopor/myappcenter-cli
- myappcenter upload ./app.apk \
--app-version $CI_COMMIT_TAG \
--build-number $CI_PIPELINE_ID \
--api-key $MYAPPCENTER_API_KEY \
--environment production \
--git-commit $CI_COMMIT_SHA \
--git-branch $CI_COMMIT_REF_NAMEJenkins
sh 'npm install -g @ragopor/myappcenter-cli'
sh """
myappcenter upload app.ipa \
--app-version ${VERSION} \
--build-number ${BUILD_NUMBER} \
--api-key ${MYAPPCENTER_API_KEY} \
--environment ${ENVIRONMENT} \
--git-commit ${GIT_COMMIT} \
--git-branch ${GIT_BRANCH}
"""Minimal CI/CD Example
# Set API key as environment variable
export MYAPPCENTER_API_KEY=app_BBuJYPJcRwEx2o5VS7uvbxnEiDUsBhxL
# Simple upload command
myappcenter upload app.apk --app-version 1.0.0 -b 100License
MIT
