On November 8th, DeNA's test night event in Tokyo welcomed Viktor Benei (CTO) and Hendrik Haandrikman (VP of Growth) of Bitrise to hold a second keynote about Bitrise (find #1 here: https://www.slideshare.net/Bitrise/bitrise-keynote-at-denas-cicd-testnight-1)
During this second talk, you'll get a sneak peek into the Bitrise roadmap, but we also explore some more advanced usecased including the Bitrise CLI, the API, using Danger, Flank, building your own steps and more.
https://testnight.connpass.com/event/103068/
1. Advanced Bitrise and
Roadmap Features
Viktor Benei, CTO
ViktorBenei
Hendrik Haandrikman, VP of Growth
HHaandr
CI/CD Test Night #2, Tokyo | 8 Nov 2018
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
3. Agenda
1. Automate Everything
CLI
Danger
Bitrise.io API
2. Flank
Why?
How?
3. Roadmap
Super
Secret
Stuff
Nobodyâs
Heard
Before
4. Announcement and Q&A
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
4. Enabling mobile app
developers to do their
best work
What do we do?
Bitrise automates
mobile app integration,
testing and deployment
to make developers
more consistent, faster
and freeing up their
time and talents for the
work that matters.
Bitrise Founding
Founded in 2014 by app
development agency
alumni, looking to
improve their own
process. Y Combinator
backed with $ 3.5M in
funding.
By the numbers
Used by:
* Over 20% of the
Fortune Global 500
* 50% of mobile unicorn
startups
Over 10M builds to date
and doubling in size
every 9 months
Headquarters
Bitrise is headquartered
in Budapest, Hungary,
where a team of 30+
developers work
tirelessly to improve our
platform
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
6. Automate Everything
Describe what youâd do manually, in a way that a tool can
perform it instead of you.
⢠bitrise CLI - open source runner
⢠Steps: reusable building blocks
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
7. Bitrise CLI
Run it on bitrise.io
Run it locally!
$ bitrise init --minimal
$ bitrise run workflow-id
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
8. Bitrise CLI on your Mac/PC
⢠Download bitrise.yml from bitrise.io for local debug
⢠Can also be used for tasks you only run on your Mac/PC
⢠Our website team has a workflow to setup and run a local
development environment for the whole bitrise.io service
⢠Run Sourcery
⢠âMeta-programming for Swift, stop writing boilerplate code.â
⢠You can store the yml in the repository
⢠https://devcenter.bitrise.io/tips-and-tricks/use-bitrise-yml-fr
om-repository/
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
9. Keep iterating on your config
Continuous improvement keeps the development workflow
efficient
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
10. Keep iterating on your config
Bitrise CLI helps in local
https://discuss.bitrise.io/t/how-to-experi
ment-with-bitrise-configs-locally-on-you
r-mac-linux/1751
You can even run the open
source Workflow Editor
locally
$ bitrise :workflow-editor
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
11. Keep iterating on your config
View changes of the config
on Bitrise.io
On the buildâs page click
Show bitrise.yml
12. Keep iterating on your config
Restore with a single click
Donât be afraid to improve
your workflows!
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
13. Danger
âDanger runs during your CI process, and gives teams the chance
to automate common code review chores.â
âYou can use Danger to codify your teams norms. Leaving humans
to think about harder problems.â
âShe does this by leaving messages inside your PRs based on rules
that you createâ
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
14. Danger
Danger + ktlint
Blog post:
https://blog.bitrise.io/auto
mating-code-review-tasks-
for-multi-module-android-
projects
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
15. Danger
Dangerfile used for
bitrise.io website code
⢠Tests required for any
non #trivial non
#refactor change
⢠Issue tracker link
⢠Pull Request size
check
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
16. Danger
âKeeping check on your Android Libraries with Danger & Bitriseâ
https://overflow.buffer.com/2018/10/26/keeping-check-on-your-android-libraries-with-danger-bitrise/
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
17. Automated iOS Code Signing
Step analyses the project during
the build
Connects to Apple Developer
Portal, generates the right
profile(s) and downloads them
Needs the certificate (private key) -
codesigndoc can be used for
getting that!
Guide:
https://devcenter.bitrise.io/code-signing/ios-code-signing/ios-
auto-provisioning/
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
19. Flank
âFlank is a massively parallel Android and iOS test runner
for Firebase Test Lab.â
Open Source
https://github.com/TestArmada/flank
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
20. Speed up tests by
sharding tests into
smaller elements, run
in parallel
Can be used with
Bitrise today, but
deeper integration
and usability
improvements
coming very soon
Flank and
Bitrise
21. Why would you use Flank?
⢠Test sharding: speed up your tests by running them in parallel, on
separate test devices
⢠(Coming soon) Smart Flank: sharding based on previous test
case run times instead of just equally sized test shards/buckets
⢠Cost reporting: know exactly how much your tests cost
⢠Stability testing: repeat the same test multiple times to find flaky
tests
⢠HTML report: supported on Bitrise.io today via attaching it to the
Build as an artifact
https://devcenter.bitrise.io/tips-and-tricks/attach-any-file-to-build/
⢠JUnit XML report: just landed in Flank recently, will be supported
on Bitrise.io soon
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
22. When would you use Flank?
I asked Matt (@bootstraponline), he said:
⢠Flank is for scaling
⢠Start with gcloud cli, itâs the easiest (and Flank is compatible
with that config)
⢠If itâs too slow, time to check Flank
⢠If you have 30-40 mins test runs there but you need it in 10
then itâs time to Flank!
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
23. How can you effectively integrate
Flank into your Bitrise workflows?
1. Save Google Service Account JSON
2. Generate Flank config with APK & Test APK paths
3. Download & run Flank
https://gist.github.com/viktorbenei/555a23293ee0ff9478e583a34d2
a45a4
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
30. Open Source support
Recently launched Public Projects allow
for automatic secret filtering and more
Every Public Project gets access to our
paid Developer Plan features for free
Additional security options like: deleting
logs and bitrise.yml / build config
Coming soon:
Manual confirmation & secret sharing
for Pull Requests.
Explore page, to discover other
awesome configs and projects
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
31. Improved Security
for Teams
Enforce 2FA on
Organisation level to
make sure noone is
left out
SAML SSO integration
to help with
centralised user
management across
all the services you use
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
32. New Build
system
In the works for
about a year
Linux/Android stacks
already powered by it
No more âpreparing
environmentâ - on
average this can save
1-2 minutes from
triggering the build
to getting the result.
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
33. Bitrise for the
Enterprise
Hosting
New ways to build
where you want,
including private cloud,
on premise and hybrid
solutions
Performance
Configure build
machines to your exact
specs with more cores
and RAM per VM,
custom images and
dedicated storage for
even faster builds
Support
Access to a ticketing
system, premium
support SLAâs and the
option for non-English
support, as well as a
dedicated customer
success engineer and
onboarding assistance
Security
Comply with corporate
or regulatory processes
with dedicated firewalls
and local data storage
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
34. More
control
Build faster on
machines configured
to your exact
specifications, at a
location of your
choosing:
Our datacenter, a
local cloud provider
or even on premise.
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
4 cores/VM
8 (max 12) GB
RAM/VM
(5 concurrencies
per machine)
10 cores/VM
30 GB RAM/VM
(2 concurrencies
per machine)
20 cores/VM
60 GB RAM/VM
(1 concurrencies
per machine)
5 cores/VM
15 GB RAM/VM
(4 concurrencies
per machine)
35. Ticketing and SLA
Every customer on Org
Elite and over gets
access to a ticketing
system with a 24 hour
first response guarantee.
Premium SLA ensures
even faster responses,
regardless of timezone
to ensure youâre as
productive as possible
Custom MSA
Special support
requirements like
support in non-English
languages, custom
SLAâs, integration with
inhouse ticketing
systems and more are
possible through custom
MSAâs.
Onboarding
Gain 30- or 60 days of
unmetered access to an
on-call Bitrise engineer
to help onboard your
apps, teams, tools and
projects, ensuring that
you see business
benefits as soon as
possible.
Customer Success
Benefit from
complementary
monthly sync-ups with
your dedicated
customer success
engineer for workflow
advice and roadmap
previews
Premium
Support
Follow Bitrise @bitrise - Tweet along with #cicd_test_night
38. Localized
Docs
Thanks to the
Japanese Bitrise
community, our most
read documentation,
including howtoâs and
troubleshooting
guides are now
available in Japanese.
Going forward, all high
impact docs will be
offered in Japanese.
39. Community Support
Contributors
Weâre committing to
ongoing support for
Japanese developers
that want to contribute
to Bitrise, either through
code/integrations,
how-to's or localization
Ambassadors
Japanese developers are
the first to get access to
perks, exposure and
support, in exchange for
writing and talking
about Bitrise through
our new Bitrise
ambassador program
Events
Going forward, weâre
committed to attend
and/or sponsor major
Japanese developer
events at least once a
quarter
Follow Bitrise @bitrise - Tweet along with #cicd_test_night