Skip to main content

CircleCI Integration

Use the official CircleCI orb to integrate App Store Connect CLI into your pipelines

Official CircleCI Orb

The asc orb provides reusable commands and jobs for CircleCI pipelines:
  • Install command - Set up asc in your jobs
  • Pre-built jobs - Ready-to-use workflows for common tasks
  • Caching support - Automatic binary caching for faster builds
Repository: github.com/rudrankriyam/asc-orb

Quick Start

Basic Configuration

.circleci/config.yml

Orb Commands

Install Command

Installs the asc CLI:
Parameters:

Run Command

Installs and executes an asc command:
Parameters:

Pre-Built Jobs

TestFlight Upload Job

Parameters:

App Store Submit Job

Parameters:

Complete Workflows

Full TestFlight Pipeline

.circleci/config.yml

App Store Release Pipeline

.circleci/config.yml

Metadata Sync Workflow

.circleci/config.yml

Scheduled Monitoring

.circleci/config.yml

Authentication Setup

CircleCI Contexts

  1. Navigate to Organization Settings > Contexts
  2. Create a new context: app-store-connect
  3. Add environment variables:

Base64 Encoding

Using Contexts in Workflows

Project-Level Variables

Alternatively, set variables at the project level:
  1. Go to Project Settings > Environment Variables
  2. Add the same variables as above

Advanced Patterns

Matrix Builds

Conditional Execution

Executors

macOS Executor

For build operations:

Docker Executor

For API-only operations:

Caching

Cache dependencies and build artifacts:

Troubleshooting

  • Verify orb is published: circleci orb list rudrankriyam
  • Check CircleCI version is 2.1+
  • Ensure organization allows third-party orbs
  • Verify context variables are set correctly
  • Check job references the correct context
  • Ensure private key is base64-encoded without newlines
  • Test credentials locally
  • Check available macOS resource classes for your plan
  • Use macos.m1.medium.gen1 for M1 builds
  • Consider using macos.x86.medium.gen2 for Intel
  • Increase job timeout:
  • Set environment variables:

Best Practices

Use contexts for secrets

Centralize credentials in contexts instead of project variables.

Cache dependencies

Speed up builds with caching:

Pin orb versions

Use specific versions for stability:

Use approval jobs

Require manual approval for production: