我的根项目中有 fastlane 文件夹,我的 .circleci/config.yml 文件如下所示: `
version: 2.1
orbs:
android: circleci/[email protected]
node: circleci/[email protected]
jobs:
node:
working_directory: ~/project
docker:
- image: cimg/node:18.10.0
steps:
- checkout
- attach_workspace:
at: ./
- restore_cache:
key: yarn-v1-{{ checksum "yarn.lock" }}-{{ arch }}
- restore_cache:
key: node-v1-{{ checksum "package.json" }}-{{ arch }}
- run: yarn install
- save_cache:
key: yarn-v1-{{ checksum "yarn.lock" }}-{{ arch }}
paths:
- ~/.cache/yarn
- save_cache:
key: node-v1-{{ checksum "package.json" }}-{{ arch }}
paths:
- node_modules
- persist_to_workspace:
root: ~/project
paths:
- node_modules
- store_test_results:
path: test-results
- store_artifacts:
path: test-results
android-build-and-test:
working_directory: ~/project
docker:
- image: circleci/android:api-29-node
- restore_cache:
key: yarn-v1-{{ checksum "yarn.lock" }}-{{ arch }}
- restore_cache:
key: node-v1-{{ checksum "package.json" }}-{{ arch }}
- run: yarn install
- save_cache:
key: yarn-v1-{{ checksum "yarn.lock" }}-{{ arch }}
paths:
- ~/.cache/yarn
- save_cache:
key: node-v1-{{ checksum "package.json" }}-{{ arch }}
paths:
- node_modules
- run: echo 'export PATH=$HOME/.local/bin:$PATH' >> $BASH_ENV
- run: echo y | sdkmanager --install "platforms;android-27"
- restore_cache:
key: bundle-v1-{{ checksum "Gemfile.lock" }}-{{ arch }}
- run:
name: install chruby
command: |
wget -O chruby-0.3.9.tar.gz https://github.com/postmodern/chruby/archive/v0.3.9.tar.gz
tar -xzvf chruby-0.3.9.tar.gz
cd chruby-0.3.9/
sudo make install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
(echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /home/circleci/.profile
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
# (echo; echo 'eval "$(/usr/local/bin/brew shellenv)"') >> /Users/distiller/.bash_profile
# eval "$(/usr/local/bin/brew shellenv)"
brew install ruby-install
ruby-install ruby 3.0.5
echo 'source /usr/local/share/chruby/chruby.sh' >> $BASH_ENV
echo 'chruby ruby-3.0.5' >> $BASH_ENV
- run:
name: Install gems
command: |
gem install bundler
- run:
command: bundle install
# working_directory: android
- save_cache:
key: bundle-v1-{{ checksum "Gemfile.lock" }}-{{ arch }}
paths:
- vendor/bundle
- run:
name: Install fastlane
command: |
gem install fastlane
- run:
name: Create Google Play key
command: echo $GOOGLE_PLAY_KEY > google-play-key.json
- run:
name: Fastlane
command: |
ls
pwd
FASTLANE_SKIP_UPDATE_CHECK=true bundle exec fastlane android upload_to_internal_test
- store_artifacts:
path: output
- store_test_results:
path: output/scan
`
执行fastlane job之前的ls和pwd命令显示了项目的确切根目录,也显示了fastlane目录。我有类似的 ios 工作。它找到了 fastlane 工作,但没有为 android 工作工作。