Комментарии 7
А чего не упомянули такие популярные вещи, как Travis, Circle, Appveyor. Последний, например, единственный, который может делать всё в виндовом окружении
Это я на прошлой неделе пытался разобраться с зоопарком:
docs.google.com/spreadsheets/d/1dYKnXzZToQx1qGBpMvI9f9o6nVP0QZAFCmH2QqDlNr0/edit?usp=sharing
Если кто хочет — присоединяйтесь, дополняйте.
docs.google.com/spreadsheets/d/1dYKnXzZToQx1qGBpMvI9f9o6nVP0QZAFCmH2QqDlNr0/edit?usp=sharing
Если кто хочет — присоединяйтесь, дополняйте.
есть вопрос к знатокам, есть желание прикрутить джиру к битбакету таким образом что есть таск, для него есть бранч, джира его отлично видет. После мёрджа в дев и тестирования тестер переносит таск в колонку Done и вот тут хорошобы найти штуку которая моглабы найти все коммиты таска и замёрджить или по крайней мере попытаться замёрджить их в релизный бранч, после чего автоматизация уже потестит результат и задеплоит когда будет нужно.
битбакет и джира вроде умеют многое вместе делать, но вот такой фичи/плагина я никак не найду. Знаю что нужно делать совсем подругому, создавать тестовое окружения для каждого бранча и после тестирования мёржить и деплоить, но совсем в таком виде оно не годиться пока
битбакет и джира вроде умеют многое вместе делать, но вот такой фичи/плагина я никак не найду. Знаю что нужно делать совсем подругому, создавать тестовое окружения для каждого бранча и после тестирования мёржить и деплоить, но совсем в таком виде оно не годиться пока
Из вашего описания вообще ничего не понять, поэтому вам врядли кто ответит.
Какая у вас Git-стратегия? Что и когда складывается в дев-ветку? Когда код попадет в мастер? Релизы вы делаете тэгами или реально прям бренчи? Если бренчами, то от чего бренчуетесь и когда? Как следите за тем, чтобы новое, не протестированное не попадало в релиз — ведь во время последнего успешного теста в дев могут всыпать что угодно, а так как тест успешный, вы это сгребете в релиз?
Какая у вас Git-стратегия? Что и когда складывается в дев-ветку? Когда код попадет в мастер? Релизы вы делаете тэгами или реально прям бренчи? Если бренчами, то от чего бренчуетесь и когда? Как следите за тем, чтобы новое, не протестированное не попадало в релиз — ведь во время последнего успешного теста в дев могут всыпать что угодно, а так как тест успешный, вы это сгребете в релиз?
ScriptRunner+post-functions+REST API в помощь — мы много чего так запускаем на переходах по статусам.
Вот так можно вытащить всю дев-инфу по задаче:
А дальше через REST резвимся с Bitbucket/Bamboo. Но имейте ввиду, что у Bamboo довольно убогий API. У Bitbucket получше, но тоже «не фонтан».
Вот так можно вытащить всю дев-инфу по задаче:
Заголовок спойлера
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.plugin.ComponentClassManager
import com.atlassian.jira.user.ApplicationUser
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
String issueKey = "INT-76"
IssueManager issueManager = ComponentManager.getComponentInstanceOfType(IssueManager)
MutableIssue issue = issueManager.getIssueByCurrentKey(issueKey)
@WithPlugin("com.atlassian.jira.plugins.jira-development-integration-plugin")
ComponentClassManager ccm = ComponentManager.getComponentInstanceOfType(ComponentClassManager)
def devStatusSummaryService = ccm.newInstance("com.atlassian.jira.plugin.devstatus.impl.DefaultDevStatusSummaryService")
ApplicationUser currentUser = ComponentAccessor.jiraAuthenticationContext.getLoggedInUser()
def pullRequestData = devStatusSummaryService.getDetailData(issue.id, "stash", "pullrequest", currentUser).right().get().getDetail()
А дальше через REST резвимся с Bitbucket/Bamboo. Но имейте ввиду, что у Bamboo довольно убогий API. У Bitbucket получше, но тоже «не фонтан».
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Справочная: как устроен процесс Continuous Integration