Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
G
GMNetService
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gengmeiios
GMNetService
Commits
eebe4afb
Commit
eebe4afb
authored
Dec 18, 2018
by
段英荣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update fastlane
parent
5606f3db
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
294 additions
and
86 deletions
+294
-86
.Fastfile.swp
fastlane/.Fastfile.swp
+0
-0
Appfile
fastlane/Appfile
+2
-2
Deliverfile
fastlane/Deliverfile
+0
-0
Fastfile
fastlane/Fastfile
+104
-3
README.md
fastlane/README.md
+9
-27
git_commit_all.rb
fastlane/actions/git_commit_all.rb
+35
-0
pod_install.rb
fastlane/actions/pod_install.rb
+30
-0
pod_repo_update.rb
fastlane/actions/pod_repo_update.rb
+61
-0
sync_build_number_to_git.rb
fastlane/actions/sync_build_number_to_git.rb
+47
-0
report.xml
fastlane/report.xml
+6
-54
No files found.
fastlane/.Fastfile.swp
0 → 100644
View file @
eebe4afb
File added
fastlane/Appfile
View file @
eebe4afb
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
apple_id "wanmeizhensuo@gmail.com" # Your Apple email address
team_id "86R4V3XFLU" # Developer Portal Team ID
team_id "86R4V3XFLU" # Developer Portal Team ID
# you can even provide different app identifiers, Apple IDs and team names per lane:
# 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
fastlane/Deliverfile
0 → 100644
View file @
eebe4afb
fastlane/Fastfile
View file @
eebe4afb
import_from_git(url: 'git@git.gengmei.cc:mobile/JaguarTemplate.git',
fastlane_version "2.85.0"
path: 'fastlane/ios_fastfile')
\ No newline at end of file
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
fastlane/README.md
View file @
eebe4afb
...
@@ -8,35 +8,22 @@ Make sure you have the latest version of the Xcode command line tools installed:
...
@@ -8,35 +8,22 @@ Make sure you have the latest version of the Xcode command line tools installed:
xcode-select --install
xcode-select --install
```
```
## Choose your installation method:
Install _fastlane_ using
```
[sudo] gem install fastlane -NV
```
or alternatively using
`brew cask install fastlane`
<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>
# Available Actions
# Available Actions
## iOS
## 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
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
Release new private pod version
### ios do_publish_beta
### ios do_publish_beta
...
@@ -49,11 +36,6 @@ Publish a beta version
...
@@ -49,11 +36,6 @@ Publish a beta version
fastlane ios do_publish_test
fastlane ios do_publish_test
```
```
Publish a test version
Publish a test version
### ios do_automation_test
```
fastlane ios do_automation_test
```
UI automation test
----
----
...
...
fastlane/actions/git_commit_all.rb
0 → 100644
View file @
eebe4afb
module
Fastlane
module
Actions
class
GitCommitAllAction
<
Action
def
self
.
run
(
params
)
Actions
.
sh
"git commit -am
\"
#{
params
[
:message
]
}
\"
"
end
#####################################################
# @!group Documentation
#####################################################
def
self
.
description
"Commit all unsaved changes to git."
end
def
self
.
available_options
[
FastlaneCore
::
ConfigItem
.
new
(
key: :message
,
env_name:
"FL_GIT_COMMIT_ALL"
,
description:
"The git message for the commit"
,
is_string:
true
)
]
end
def
self
.
authors
# So no one will ever forget your contribution to fastlane :) You are awesome btw!
[
"thierry"
]
end
def
self
.
is_supported?
(
platform
)
true
end
end
end
end
fastlane/actions/pod_install.rb
0 → 100644
View file @
eebe4afb
module
Fastlane
module
Actions
class
PodInstallAction
<
Action
def
self
.
run
(
params
)
Actions
.
sh
"cd Example && pod install"
Helper
.
log
.
info
"Successfully pod install ⬆️ "
.
green
end
#####################################################
# @!group Documentation
#####################################################
def
self
.
description
"Update all pods"
end
def
self
.
details
"Update all pods"
end
def
self
.
authors
[
"thierry"
]
end
def
self
.
is_supported?
(
platform
)
true
end
end
end
end
fastlane/actions/pod_repo_update.rb
0 → 100644
View file @
eebe4afb
module
Fastlane
module
Actions
# Updates the local clone of the spec-repo
class
PodRepoUpdateAction
<
Action
def
self
.
run
(
params
)
cmd
=
[]
repo
=
params
[
:repo
]
result
=
Actions
.
sh
(
"pod repo update
#{
repo
}
"
)
UI
.
success
(
"Successfully pod repo update 💾."
)
return
result
end
#####################################################
# @!group Documentation
#####################################################
def
self
.
description
"Updates the local clone of the spec-repo `NAME`. If `NAME` is omitted this will update all spec-repos in `~/.cocoapods/repos`."
end
def
self
.
details
# Optional:
# this is your chance to provide a more detailed description of this action
"You can use this action to do cool things..."
end
def
self
.
available_options
# Define all options your action supports.
[
FastlaneCore
::
ConfigItem
.
new
(
key: :repo
,
description:
"Repo"
,
is_string:
false
,
verify_block:
proc
do
|
value
|
end
),
]
end
def
self
.
output
# Define the shared values you are going to provide
# Example
[
[
'POD_REPO_UPDATE_CUSTOM_VALUE'
,
'A description of what this value contains'
]
]
end
def
self
.
return_value
# If you method provides a return value, you can describe here what it does
end
def
self
.
authors
# So no one will ever forget your contribution to fastlane :) You are awesome btw!
[
"thierryxing"
]
end
def
self
.
is_supported?
(
platform
)
platform
==
:ios
end
end
end
end
fastlane/actions/sync_build_number_to_git.rb
0 → 100644
View file @
eebe4afb
module
Fastlane
module
Actions
module
SharedValues
BUILD_NUMBER
=
:BUILD_NUMBER
end
class
SyncBuildNumberToGitAction
<
Action
def
self
.
is_git?
Actions
.
sh
'git rev-parse HEAD'
return
true
rescue
return
false
end
def
self
.
run
(
params
)
if
is_git?
command
=
'git rev-list HEAD --count'
else
raise
"Not in a git repository."
end
build_number
=
(
Actions
.
sh
command
).
strip
Fastlane
::
Actions
::
IncrementBuildNumberAction
.
run
(
build_number:
build_number
)
Actions
.
lane_context
[
SharedValues
::
BUILD_NUMBER
]
=
build_number
end
def
self
.
output
[
[
'BUILD_NUMBER'
,
'The new build number'
]
]
end
#####################################################
# @!group Documentation
#####################################################
def
self
.
description
"Set the build version of your project to the same number of your total git commit count"
end
def
self
.
authors
[
"thierry"
]
end
def
self
.
is_supported?
(
platform
)
[
:ios
].
include?
platform
end
end
end
end
fastlane/report.xml
View file @
eebe4afb
...
@@ -5,77 +5,29 @@
...
@@ -5,77 +5,29 @@
<testcase
classname=
"fastlane.lanes"
name=
"0
0: Verifying required fastlane version"
time=
"0.00186
4"
>
<testcase
classname=
"fastlane.lanes"
name=
"0
: Verifying fastlane version"
time=
"0.00945
4"
>
</testcase>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
01: default_platform"
time=
"0.001559
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
1: default_platform"
time=
"0.001502
"
>
</testcase>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
02: import_from_git"
time=
"0.525514
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
2: git_pull"
time=
"1.074435
"
>
</testcase>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
03: hipchat"
time=
"0.104366
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
3: pod_repo_update"
time=
"1.282599
"
>
</testcase>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
04: git_pull"
time=
"0.96291
3"
>
<testcase
classname=
"fastlane.lanes"
name=
"
4: pod_install"
time=
"8.09199
3"
>
</testcase>
<failure
message=
"/Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/actions/actions_helper.rb:48:in `execute_action' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:232:in `block in execute_action' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:227:in `chdir' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:227:in `execute_action' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/fast_file.rb:154:in `method_missing' Fastfile:50:in `block (2 levels) in parsing_binding' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/lane.rb:33:in `call' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:45:in `chdir' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/runner.rb:45:in `execute' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/lane_manager.rb:56:in `cruise_lane' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/commands_generator.rb:108:in `block (2 levels) in run' /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in `call' /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in `run' /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in `run_active_command' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in `run!' /Library/Ruby/Gems/2.3.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in `run!' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/commands_generator.rb:333:in `run' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/commands_generator.rb:41:in `start' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/fastlane/lib/fastlane/cli_tools_distributor.rb:108:in `take_off' /Library/Ruby/Gems/2.3.0/gems/fastlane-2.111.0/bin/fastlane:23:in `<top (required)>' /usr/bin/fastlane:23:in `load' /usr/bin/fastlane:23:in `<main>' 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
classname=
"fastlane.lanes"
name=
"05: ensure_git_branch"
time=
"0.008332"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"06: pod_install"
time=
"22.240406"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"07: pod_lib_lint"
time=
"23.092871"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"08: version_bump_podspec"
time=
"0.002773"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"09: git_commit_all"
time=
"0.078187"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"10: add_git_tag"
time=
"0.014327"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"11: push_to_git_remote"
time=
"0.948102"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"12: pod_push"
time=
"9.610912"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"13: pod_repo_update"
time=
"6.853242"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"14: hipchat"
time=
"0.058063"
>
</testcase>
</testcase>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment