Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
00900dca
Commit
00900dca
authored
Feb 07, 2019
by
Jason Lenny
Committed by
Nick Thomas
Feb 07, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Template for Android with Fastlane
parent
7d37e345
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
128 additions
and
0 deletions
+128
-0
changelogs/unreleased/jlenny-NewAndroidTemplate.yml
changelogs/unreleased/jlenny-NewAndroidTemplate.yml
+5
-0
lib/gitlab/ci/templates/Android-Fastlane.gitlab-ci.yml
lib/gitlab/ci/templates/Android-Fastlane.gitlab-ci.yml
+121
-0
lib/gitlab/ci/templates/Android.gitlab-ci.yml
lib/gitlab/ci/templates/Android.gitlab-ci.yml
+2
-0
No files found.
changelogs/unreleased/jlenny-NewAndroidTemplate.yml
0 → 100644
View file @
00900dca
---
title
:
Add template for Android with Fastlane
merge_request
:
24722
author
:
type
:
changed
lib/gitlab/ci/templates/Android-Fastlane.gitlab-ci.yml
0 → 100644
View file @
00900dca
# Read more about how to use this script on this blog post https://about.gitlab.com/2019/01/28/android-publishing-with-gitlab-and-fastlane/
# You will also need to configure your build.gradle, Dockerfile, and fastlane configuration to make this work.
# If you are looking for a simpler template that does not publish, see the Android template.
stages
:
-
environment
-
build
-
test
-
internal
-
alpha
-
beta
-
production
.updateContainerJob
:
image
:
docker:stable
stage
:
environment
services
:
-
docker:dind
script
:
-
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
-
docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG ||
true
-
docker build --cache-from $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG -t $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG .
-
docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
updateContainer
:
extends
:
.updateContainerJob
only
:
changes
:
-
Dockerfile
ensureContainer
:
extends
:
.updateContainerJob
allow_failure
:
true
before_script
:
-
"
mkdir
-p
~/.docker
&&
echo
'{
\"
experimental
\"
:
\"
enabled
\"
}'
>
~/.docker/config.json"
-
docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
# Skip update container `script` if the container already exists
# via https://gitlab.com/gitlab-org/gitlab-ce/issues/26866#note_97609397 -> https://stackoverflow.com/a/52077071/796832
-
docker manifest inspect $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG > /dev/null && exit ||
true
.build_job
:
image
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
stage
:
build
before_script
:
# We store this binary file in a variable as hex with this command: `xxd -p android-app.jks`
# Then we convert the hex back to a binary file
-
echo "$signing_jks_file_hex" | xxd -r -p - > android-signing-keystore.jks
-
"
export
VERSION_CODE=$CI_PIPELINE_IID
&&
echo
$VERSION_CODE"
-
"
export
VERSION_SHA=`echo
${CI_COMMIT_SHA:0:8}`
&&
echo
$VERSION_SHA"
after_script
:
-
rm -f android-signing-keystore.jks ||
true
artifacts
:
paths
:
-
app/build/outputs
buildDebug
:
extends
:
.build_job
script
:
-
bundle exec fastlane buildDebug
buildRelease
:
extends
:
.build_job
script
:
-
bundle exec fastlane buildRelease
environment
:
name
:
production
testDebug
:
image
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
stage
:
test
dependencies
:
-
buildDebug
script
:
-
bundle exec fastlane test
publishInternal
:
image
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
stage
:
internal
dependencies
:
-
buildRelease
when
:
manual
before_script
:
-
echo $google_play_service_account_api_key_json > ~/google_play_api_key.json
after_script
:
-
rm ~/google_play_api_key.json
script
:
-
bundle exec fastlane internal
.promote_job
:
image
:
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
when
:
manual
dependencies
:
[]
before_script
:
-
echo $google_play_service_account_api_key_json > ~/google_play_api_key.json
after_script
:
-
rm ~/google_play_api_key.json
promoteAlpha
:
extends
:
.promote_job
stage
:
alpha
script
:
-
bundle exec fastlane promote_internal_to_alpha
promoteBeta
:
extends
:
.promote_job
stage
:
beta
script
:
-
bundle exec fastlane promote_alpha_to_beta
promoteProduction
:
extends
:
.promote_job
stage
:
production
# We only allow production promotion on `master` because
# it has its own production scoped secret variables
only
:
-
master
script
:
-
bundle exec fastlane promote_beta_to_production
\ No newline at end of file
lib/gitlab/ci/templates/Android.gitlab-ci.yml
View file @
00900dca
# Read more about this script on this blog post https://about.gitlab.com/2018/10/24/setting-up-gitlab-ci-for-android-projects/, by Jason Lenny
# Read more about this script on this blog post https://about.gitlab.com/2018/10/24/setting-up-gitlab-ci-for-android-projects/, by Jason Lenny
# If you are interested in using Android with FastLane for publishing take a look at the Android-Fastlane template.
image
:
openjdk:8-jdk
image
:
openjdk:8-jdk
variables
:
variables
:
...
...
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