我一直在构建我的移动的管道react-native和flutter几乎正常的方式.我试图让这个第一次fastlane管道,到目前为止,它有点粗糙.这是一个react-native项目与Android和iOS文件夹.我跟着这个博客https://blog.logrocket.com/fastlane-build-test-ship-react-native-apps/所以我的设置是类似的.只是我做一个firebase分发通道.在GitHub的行动,actions/setup-ruby@v1
已被ruby/setup-ruby@v1
取代。
构建总是失败,并出现以下情况,即使是像这样的集合:ruby --version仍然显示2.7.7
/opt/hostedtoolcache/Ruby/2.7.7/x64/lib/ruby/gems/2.7.0/gems/bundler-2.2.27/lib/bundler/definition.rb:441:in `validate_ruby!': Your Ruby version is 3.0.2, but your Gemfile specified 2.7.7
在过去的几个小时里,我一直在抓头发,想知道我可能做错了什么。
name: Android developer build
on:
push:
branches:
- feat/splitting-dev-from-uat-builds
# - develop*
# - feat/*
jobs:
android-build:
name: Android Build
runs-on: ubuntu-latest
environment: dev
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup JDK
uses: actions/setup-java@v1
with:
java-version: 8
- name: Install npm dependencies
run: |
yarn install
- uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
- name: Checking Ruby Component versions
run: |
ruby --version
# gem install bundler
# gem install fastlane
# # Install the Firebase app distribution plugin with fastlane
# - name: Install Firebase app distribution plugin
# run: bundle exec fastlane add_plugin firebase_app_distribution
# Create a keystore file out of it's base64 string version from secrets
- name: Recreate android key store file
id: write_keysotre_file
uses: timheuer/base64-to-file@v1.2
with:
fileName: ${{ vars.DEV_ANDROID_KEYSTORE_NAME }}
fileDir: ${{ vars.DEV_ANDROID_KEYSTORE_FOLDER_PATH }}
encodedString: ${{ secrets.DEV_ANDROID_KEYSTORE_BASE64_FILE }}
- name: distribute to firebase
run: bundle exec fastlane android alpha
env:
FIREBASE_CLI_TOKEN: ${{ secrets.FIREBASE_CLI_TOKEN }}
FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
ANDROID_KEYSTORE_FILE: ${{ vars.DEV_ANDROID_KEYSTORE_FOLDER_PATH }}/${{ vars.DEV_ANDROID_KEYSTORE_NAME }}
ANDROID_KEYSTORE_PASSWORD: ${{ secrets.DEV_ANDROID_KEYSTORE_PASSWORD }}
ANDROID_KEYSTORE_KEY_ALIAS: ${{ secrets.DEV_ANDROID_KEYSTORE_KEY_ALIAS }}
FIREBASE_DIST_GROUP: dev-android
主Fastfile如下所示
platform :android do
desc "This is a dev release, we will call it alpha"
lane :alpha do
increment_version_code(app_project_dir:'./android/app')
increment_version_name(app_project_dir: './android/app', bump_type: 'patch')
gradle(task: 'clean',project_dir: './android')
gradle(task: 'assemble', bundle_type: 'Release', project_dir: './android', properties:{
"android.injected.signing.store.file" => ENV['ANDROID_KEYSTORE_FILE'],
"android.injected.signing.store.password" => ENV['ANDROID_KEYSTORE_PASSWORD'],
"android.injected.signing.key.alias" => ENV['ANDROID_KEYSTORE_KEY_ALIAS']
})
output_path = "./android/app/build/outputs/apk/"
firebase_app_distribution(
app: ENV['FIREBASE_APP_ID'],
firebase_cli_token: ENV['FIREBASE_CLI_TOKEN'],
groups: ENV['FIREBASE_DIST_GROUP'],
release_notes: "Git commit: #{last_git_commit[:abbreviated_commit_hash]}",
)
end
end
1条答案
按热度按时间pxq42qpu1#
如果你不想深入研究,你可以尝试在你的actions文件或.ruby-version文件和Gemfile中将ruby版本改为3.0.2