Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
GMRefresh
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
GMRefresh
Commits
d22bada2
Commit
d22bada2
authored
Dec 19, 2018
by
jinzhu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fastlane
parent
c44baa7d
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
316 additions
and
45 deletions
+316
-45
.gitignore
.gitignore
+1
-1
.Fastfile.swp
fastlane/.Fastfile.swp
+0
-0
Appfile
fastlane/Appfile
+2
-2
Fastfile
fastlane/Fastfile
+104
-3
README.md
fastlane/README.md
+25
-10
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
+11
-29
No files found.
.gitignore
View file @
d22bada2
...
...
@@ -23,7 +23,7 @@ DerivedData
.bundle
Carthage
fastlane/*
#
fastlane/*
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# http://guides.cocoapods.org/using/using-cocoapods.html#should-i-ignore-the-pods-directory-in-source-control
...
...
fastlane/.Fastfile.swp
0 → 100644
View file @
d22bada2
File added
fastlane/Appfile
View file @
d22bada2
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
fastlane/Fastfile
View file @
d22bada2
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
fastlane/README.md
View file @
d22bada2
fastlane documentation
================
# Installation
Make sure you have the latest version of the Xcode command line tools installed:
```
xcode-select --install
```
Install _fastlane_ using
```
sudo gem install fastlane
[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_monkey_test
### ios do_publish_beta
```
fastlane ios do_publish_beta
```
Publish a beta version
### ios do_publish_test
```
fastlane ios do_
monkey
_test
fastlane ios do_
publish
_test
```
UI automation test
Publish a test version
----
This README.md is auto-generated and will be re-generated every time
[
fastlane
](
https://fastlane.tools
)
is run.
More information about fastlane can be found on
[
https://
fastlane.tools
](
https://fastlane.tools
)
.
The documentation of fastlane can be found on
[
GitHub
](
https://github.com/fastlane/fastlane/tree/master/fastlane
)
.
More information about fastlane can be found on
[
fastlane.tools
](
https://fastlane.tools
)
.
The documentation of fastlane can be found on
[
docs.fastlane.tools
](
https://docs.fastlane.tools
)
.
fastlane/actions/git_commit_all.rb
0 → 100644
View file @
d22bada2
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 @
d22bada2
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 @
d22bada2
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 @
d22bada2
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 @
d22bada2
...
...
@@ -2,78 +2,60 @@
<testsuites>
<testsuite
name=
"fastlane.lanes"
>
<testcase
classname=
"fastlane.lanes"
name=
"0: Verifying required fastlane version"
time=
"0.000561"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"1: default_platform"
time=
"0.000262"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"2: import_from_git"
time=
"0.576125"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"3: hipchat"
time=
"0.04935"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
4: git_pull"
time=
"1.057824
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
00: Verifying fastlane version"
time=
"0.006236
"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
5: ensure_git_branch"
time=
"0.006838
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
01: default_platform"
time=
"0.00096
"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
6: pod_install"
time=
"14.85694
4"
>
<testcase
classname=
"fastlane.lanes"
name=
"
02: git_pull"
time=
"1.38193
4"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
7: pod_lib_lint"
time=
"28.55106
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
03: pod_repo_update"
time=
"1.659551
"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
8: version_bump_podspec"
time=
"0.001244
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
04: pod_lib_lint"
time=
"9.628186
"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
9: git_commit_all"
time=
"0.086962
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
05: version_bump_podspec"
time=
"0.00243
"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
10: add_git_tag"
time=
"0.011892
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
06: git_commit_all"
time=
"0.025476
"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
11: push_to_git_remote"
time=
"1.034166
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
07: add_git_tag"
time=
"0.015294
"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
12: pod_push"
time=
"16.108675
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
08: push_to_git_remote"
time=
"0.933966
"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"
13: pod_repo_update"
time=
"1.448015
"
>
<testcase
classname=
"fastlane.lanes"
name=
"
09: pod_push"
time=
"53.669874
"
>
</testcase>
<testcase
classname=
"fastlane.lanes"
name=
"1
4: hipchat"
time=
"0.525092
"
>
<testcase
classname=
"fastlane.lanes"
name=
"1
0: pod_repo_update"
time=
"2.298588
"
>
</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