Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Как перестать говорить "Ой, я забыл"
Search
Vadym
May 10, 2019
Programming
0
67
Как перестать говорить "Ой, я забыл"
Vadym
May 10, 2019
Tweet
Share
More Decks by Vadym
See All by Vadym
Building...Please, wait
degterev
0
59
Date and time
degterev
0
39
Other Decks in Programming
See All in Programming
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
150
0626 Findy Product Manager LT Night_高田スライド_speaker deck用
mana_takada
0
110
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
230
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
510
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
Cursor AI Agentと伴走する アプリケーションの高速リプレイス
daisuketakeda
1
130
Create a website using Spatial Web
akkeylab
0
310
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
220
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
570
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
320
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
450
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
810
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Writing Fast Ruby
sferik
628
62k
GraphQLとの向き合い方2022年版
quramy
49
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Facilitating Awesome Meetings
lara
54
6.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
For a Future-Friendly Web
brad_frost
179
9.8k
Six Lessons from altMBA
skipperchong
28
3.9k
GitHub's CSS Performance
jonrohan
1031
460k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Transcript
Как перестать говорить «Ой, я забыл» Вадим Дегтерев
None
Поговорим про • Что за проблема то? • Пути решения
• Как мы решили в итоге • Вопросы и вот это все
• Посмотреть pull requests • Отправить билд qa • Поставить
нужный пробельчик • Написать коммент в джиру • Посмотреть почему упали тесты Задач много а я один
Нам нужна автоматизация
Какие есть варианты? • Fastlane • Jenkins pipeline • Danger
Fastlane • Подходит для решения наших задач • Не идеален
потому что нужен для Deploy • Deploy должен работать всегда и везде
Jenkins pipeline
Jenkins pipeline Jenkinsfile node { stage('Build') { // } stage('Test')
{ // } stage('Deploy') { // } }
Jenkins pipeline
Jenkins pipeline Jenkinsfile node { stage('Build') { // } stage('Test')
{ // } stage('Deploy') { // } stage('Report') { def payload = JsonOutput.toJson([text : text, channel : channel, username : "JenkinsCI", attachments: attachments ]) sh "curl -X POST --data-urlencode \'payload=${payload}\' ${slackURL}" } }
Github pull request builder Environment Variables The plugin makes some
very useful environment variables available. • ghprbActualCommit • ghprbActualCommitAuthor • ghprbActualCommitAuthorEmail • ghprbPullDescription • ghprbPullId • ghprbPullLink • ghprbPullTitle • ghprbSourceBranch • ghprbTargetBranch • ghprbCommentBody • sha1
Jira comment Jenkinsfile node { stage('Build') { // } stage('Test')
{ // } stage('Deploy') { // } stage('Report') { def payload = ... def jiraTicket = jiraTicket(env.ghprbPullTitle) sh "curl -X POST --data-urlencode \'payload=${payload}\' ${jiraURL}/browse/$ {jiraTicket}" } }
Что с безопасностью? • Есть безопасное хранилище для ключей •
Не нужно добавлять ключи в код • Ключи не попадут в логи
Jenkins pipeline • Документация? • Модули, плагины, прям конструктор •
Все пишется на Groovy • Можно просто вызывать скрипт из консоли
Danger
Dangerfile failure "Please add labels to this PR" if bitbucket_cloud.pr_labels.empty?
message "Welcome, Kotya" if bitbucket_cloud.pr_author == “Kotya_Kolbaskin” warn "This PR does not have any assignees yet." if bitbucket_cloud.pr_json[:reviewers].length == 0
Не забывайте обновить тесты tests_updated = !git.modified_files.grep(/Tests/).empty? if has_app_changes &&
!tests_updated warn(“Test wasn’t updated”) end
Swiftlint swiftlint.lint_files
Swiftlint
Xcode summary
Ресурсы • https://fastlane.tools • https://danger.systems • https://github.com/danger/awesome-danger
Контакты https://www.facebook.com/vadym.degterev.5 Telegram: @degterev Twitter: @degterev