Commit 0587472f authored by 段英荣's avatar 段英荣

update fastlane

parent 9785454f
app_identifier "org.cocoapods.demo.GMPhobos-Example" # The bundle identifier of your app
app_identifier "" # The bundle identifier of your app
apple_id "wanmeizhensuo@gmail.com" # Your Apple email address
team_id "86R4V3XFLU" # Developer Portal Team ID
# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/docs/Appfile.md
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md
import_from_git(url: 'git@git.gengmei.cc:mobile/JaguarTemplate.git',
path: 'fastlane/ios_fastfile')
\ No newline at end of file
fastlane_version "2.85.0"
default_platform :ios
ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "30"
ENV["FASTLANE_XCODEBUILD_SETTINGS_RETRIES"] = "20"
platform :ios do
MASTER_PATH = "https://github.com/CocoaPods/Specs"
PRIVATE_PATH = "git@git.wanmeizhensuo.com:gengmeiios/GMSpecs.git"
PRIVATE_SPEC = "wanmeizhensuo-gmspecs"
SOURCES = [MASTER_PATH, PRIVATE_PATH]
desc 'Deploy a new version to the App Store'
lane :do_publish_prod do |options|
app_identifier = options[:ios_app_identifier]
scheme = options[:ios_scheme]
version = options[:version]
build = options[:build_number] || Time.now.strftime('%Y%m%d%H%M')
output_directory = options[:ios_output_directory]
output_name = options[:ios_output_name]
plist = options[:ios_plist_file]
branch = options[:git_branch]
git_pull_and_pod
update_build_number(version: build, plist: plist)
gym(scheme: scheme, configuration:'AppStore', clean: true, output_directory: output_directory, output_name: output_name, export_method: 'app-store', silent: true, suppress_xcode_output:true,
export_options: {
provisioningProfiles: {
"com.wanmeizhensuo.ZhengXing" => "user-appstore"
}
})
deliver(force: false, skip_screenshots: true, skip_metadata: true)
git_add(path: '.')
git_commit(path: '.', message: "Update build number to #{build} and upload to itunesconnect")
git_pull
git_push(branch: branch)
end
desc "Release new private pod version"
lane :do_publish_lib do |options|
target_version = options[:version]
podspec_path = options[:ios_podspec_path]
git_pull
pod_repo_update(repo: PRIVATE_SPEC)
#pod_install(repo: PRIVATE_SPEC)
pod_lib_lint(verbose: false, allow_warnings: true, sources: SOURCES, use_bundle_exec: true, fail_fast: true)
version_bump_podspec(path: podspec_path, version_number: target_version) # 更新 podspec
git_commit_all(message: "Bump version to #{target_version}") # 提交版本号修改
add_git_tag(tag: target_version) # 设置 tag
push_to_git_remote # 推送到 git 仓库
pod_push(path: podspec_path, repo: PRIVATE_SPEC, allow_warnings: true, sources: SOURCES) # 提交到 CocoaPods
pod_repo_update(repo: PRIVATE_SPEC)
end
desc 'Publish a beta version'
lane :do_publish_beta do |options|
scheme = options[:ios_scheme]
output_directory = options[:ios_output_directory]
output_name = options[:ios_output_name]
sh('USE_APPSTORE_PODS=true pod install')
gym(scheme: scheme, configuration:'Release', output_directory: output_directory, output_name: output_name, export_method: 'ad-hoc', silent: true, suppress_xcode_output:true, clean: true)
end
desc 'Publish a test version'
lane :do_publish_test do |options|
scheme = options[:ios_scheme]
bundle_identifier = options[:ios_bundle_identifier]
output_directory = options[:ios_output_directory]
output_name = options[:ios_output_name]
version = options[:version]
#git_pull_and_pod
sh('pwd')
sh('git fetch')
sh('git status')
sh('git merge origin/test')
pod_repo_update(repo: PRIVATE_SPEC)
pod_repo_update(repo: "gengmei-gmspecs")
pod_repo_update(repo: "gengmei-gengmeiios-gmspecs")
sh('USE_APPSTORE_PODS=true pod install')
sigh(adhoc: true, username: ENV['FASTLANE_USER'], app_identifier: bundle_identifier)
gym(scheme: scheme, configuration:'Release', output_directory: output_directory, output_name: output_name, export_method: 'ad-hoc', silent: true, suppress_xcode_output:true)
end
private_lane :git_pull_and_pod do |options|
sh('git pull')
pod_repo_update(repo: PRIVATE_SPEC)
pod_repo_update(repo: "gengmei-gmspecs")
pod_repo_update(repo: "gengmei-gengmeiios-gmspecs")
#cocoapods
sh('USE_APPSTORE_PODS=true pod install')
end
error do |lane, exception|
UI.message(exception.message)
end
end
......@@ -8,36 +8,22 @@ Make sure you have the latest version of the Xcode command line tools installed:
xcode-select --install
```
## Choose your installation method:
<table width="100%" >
<tr>
<th width="33%"><a href="http://brew.sh">Homebrew</a></td>
<th width="33%">Installer Script</td>
<th width="33%">Rubygems</td>
</tr>
<tr>
<td width="33%" align="center">macOS</td>
<td width="33%" align="center">macOS</td>
<td width="33%" align="center">macOS or Linux with Ruby 2.0.0 or above</td>
</tr>
<tr>
<td width="33%"><code>brew cask install fastlane</code></td>
<td width="33%"><a href="https://download.fastlane.tools">Download the zip file</a>. Then double click on the <code>install</code> script (or run it in a terminal window).</td>
<td width="33%"><code>sudo gem install fastlane -NV</code></td>
</tr>
</table>
Install _fastlane_ using
```
[sudo] gem install fastlane -NV
```
or alternatively using `brew cask install fastlane`
# Available Actions
## iOS
### ios do_deliver_app
### ios do_publish_prod
```
fastlane ios do_deliver_app
fastlane ios do_publish_prod
```
Deploy a new version to the App Store
### ios do_release_lib
### ios do_publish_lib
```
fastlane ios do_release_lib
fastlane ios do_publish_lib
```
Release new private pod version
### ios do_publish_beta
......@@ -50,11 +36,6 @@ Publish a beta version
fastlane ios do_publish_test
```
Publish a test version
### ios do_automation_test
```
fastlane ios do_automation_test
```
UI automation test
----
......
......@@ -5,67 +5,29 @@
<testcase classname="fastlane.lanes" name="00: Verifying required fastlane version" time="0.001944">
<testcase classname="fastlane.lanes" name="0: Verifying fastlane version" time="0.009454">
</testcase>
<testcase classname="fastlane.lanes" name="01: default_platform" time="0.001685">
<testcase classname="fastlane.lanes" name="1: default_platform" time="0.001502">
</testcase>
<testcase classname="fastlane.lanes" name="02: import_from_git" time="0.612755">
<testcase classname="fastlane.lanes" name="2: git_pull" time="1.074435">
</testcase>
<testcase classname="fastlane.lanes" name="03: git_pull" time="5.061954">
<testcase classname="fastlane.lanes" name="3: pod_repo_update" time="1.282599">
</testcase>
<testcase classname="fastlane.lanes" name="04: ensure_git_branch" time="0.010085">
<testcase classname="fastlane.lanes" name="4: pod_install" time="8.091993">
</testcase>
<testcase classname="fastlane.lanes" name="05: pod_install" time="25.047369">
</testcase>
<testcase classname="fastlane.lanes" name="06: pod_lib_lint" time="29.081155">
</testcase>
<testcase classname="fastlane.lanes" name="07: version_bump_podspec" time="0.00294">
</testcase>
<testcase classname="fastlane.lanes" name="08: git_commit_all" time="0.119181">
</testcase>
<testcase classname="fastlane.lanes" name="09: add_git_tag" time="0.03676">
</testcase>
<testcase classname="fastlane.lanes" name="10: push_to_git_remote" time="1.677659">
</testcase>
<testcase classname="fastlane.lanes" name="11: pod_push" time="15.992076">
</testcase>
<testcase classname="fastlane.lanes" name="12: pod_repo_update" time="11.590591">
<failure message="/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/actions/actions_helper.rb:48:in `execute_action'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:232:in `block in execute_action'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:227:in `chdir'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:227:in `execute_action'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/fast_file.rb:154:in `method_missing'&#10;Fastfile:50:in `block (2 levels) in parsing_binding'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/lane.rb:33:in `call'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:45:in `execute'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/lane_manager.rb:56:in `cruise_lane'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run'&#10;/Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call'&#10;/Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run'&#10;/Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!'&#10;/Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/commands_generator.rb:333:in `run'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/cli_tools_distributor.rb:108:in `take_off'&#10;/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/bin/fastlane:23:in `&lt;top (required)&gt;'&#10;/usr/bin/fastlane:23:in `load'&#10;/usr/bin/fastlane:23:in `&lt;main&gt;'&#10;&#10;Unknown method 'current', supported [:select, :message, :verbose, :error, :password, :input, :header, :command, :success, :important, :user_error!, :command_output, :deprecated, :content_error, :interactive?, :confirm, :crash!, :not_implemented, :shell_error!, :build_failure!, :test_failure!, :abort_with_message!]" />
</testcase>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment