openci_vm_cli 1.0.0
openci_vm_cli: ^1.0.0 copied to clipboard
OpenCI VM CLI
openci_vm_cli #
CLI tool that runs inside OpenCI VMs to handle iOS code signing, building, and exporting IPAs.
Part of the OpenCI open-source CI/CD platform.
Installation #
dart pub global activate openci_vm_cli
Commands #
ios-sign #
Automates the entire iOS code signing and build process:
- Generates App Store Connect JWT
- Creates or reuses a Distribution certificate
- Creates a Provisioning Profile
- Sets up a temporary Keychain
- Imports the certificate
- Installs the Provisioning Profile
- Configures Xcode project for manual signing
- Generates
ExportOptions.plist - Builds an
.xcarchive - Exports an
.ipa
Usage
openci_vm ios-sign \
--bundle-id "com.example.app" \
--apple-team-id "ABCD1234EF" \
--scheme "Runner" \
--workspace "ios/Runner.xcworkspace" \
--xcodeproj "ios/Runner.xcodeproj"
Required Environment Variables
| Variable | Description |
|---|---|
ASC_KEY_ID |
App Store Connect API Key ID |
ASC_ISSUER_ID |
App Store Connect Issuer ID |
ASC_PRIVATE_KEY |
App Store Connect API Private Key (PEM format) |
Optional Environment Variables (Certificate Caching)
| Variable | Description |
|---|---|
DISTRIBUTION_CERTIFICATE_P12 |
Base64-encoded .p12 certificate |
DISTRIBUTION_CERTIFICATE_ID |
ASC certificate ID |
DISTRIBUTION_CERTIFICATE_PASSWORD |
.p12 password (default: openci) |
Options
| Option | Required | Description |
|---|---|---|
--bundle-id |
✅ | iOS Bundle Identifier (e.g. com.example.app) |
--apple-team-id |
✅ | Apple Developer Team ID |
--scheme |
✅ | Xcode scheme name |
--workspace |
✅ | Path to .xcworkspace |
--xcodeproj |
✅ | Path to .xcodeproj |
--working-directory |
❌ | Working directory (default: .) |
Requirements #
- macOS with Xcode installed
openssl(pre-installed on macOS)- App Store Connect API key with appropriate permissions
License #
Apache License 2.0 — see LICENSE for details.