Using Semaphore's android image as a CI/CD environment#
The example uses our public demo project:
version: v1.0
name: First pipeline example
agent:
machine:
type: a1-standard-4
os_image: macos-xcode14
blocks:
- name: Cache deps
task:
env_vars:
- name: APP_ENV
value: prod
jobs:
- name: Get deps
commands:
- checkout
- flutter pub get
- cache store flutter-packages .packages
dependencies: []
- name: Test IOS
task:
jobs:
- name: Unit tests
commands:
- flutter test
- name: Code analyse
commands:
- flutter analyze
prologue:
commands:
- checkout
- cache restore flutter-packages
dependencies:
- Cache deps
- name: Test Android
dependencies:
- Cache deps
task:
prologue:
commands:
- checkout
- flutter pub get
agent:
machine:
type: e1-standard-2
os_image: ubuntu2004
containers:
- name: main
image: 'registry.semaphoreci.com/android:29-flutter'
jobs:
- name: Unit Tests
commands:
- flutter test
- name: Code analyse
commands:
- flutter analyze
Semaphore convenience images redirection
Due to the introduction of Docker Hub rate limits, if you are using a Docker-based CI/CD environment in combination with convenience images, Semaphore will automatically redirect any pulls from the semaphoreci
Docker Hub repository to the Semaphore Container Registry.