Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Как перестать говорить "Ой, я забыл"

Как перестать говорить "Ой, я забыл"

Vadym

May 10, 2019
Tweet

More Decks by Vadym

Other Decks in Programming

Transcript

  1. Поговорим про • Что за проблема то? • Пути решения

    • Как мы решили в итоге • Вопросы и вот это все
  2. • Посмотреть pull requests • Отправить билд qa • Поставить

    нужный пробельчик • Написать коммент в джиру • Посмотреть почему упали тесты Задач много а я один
  3. Fastlane • Подходит для решения наших задач • Не идеален

    потому что нужен для Deploy • Deploy должен работать всегда и везде
  4. 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}" } }
  5. 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
  6. 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}" } }
  7. Что с безопасностью? • Есть безопасное хранилище для ключей •

    Не нужно добавлять ключи в код • Ключи не попадут в логи
  8. Jenkins pipeline • Документация? • Модули, плагины, прям конструктор •

    Все пишется на Groovy • Можно просто вызывать скрипт из консоли
  9. 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