Olá a todos, sou um desenvolvedor Java na YuMoney.
Neste artigo, quero falar sobre qual lucro pode ser obtido com a otimização de ferramentas existentes na empresa, por que vale a pena fazer isso e onde é melhor começar. Usando a pilha Atlassian e o plugin Bitbucket que usamos na UMoney como exemplo, vou contar e mostrar tudo em detalhes. Vai!
Se você se lembra do desenvolvimento de software nas décadas de 70 e 80, vêm à mente computadores e máquinas gigantes em que engenheiros colocavam cartões perfurados. Havia instruções, elas foram executadas, algum tipo de resultado foi obtido. E, é claro, em tal sistema não havia registro, nem CI / CD, nem contêinerização.
Com o tempo, o desenvolvimento se desenvolveu e, no inĂcio dos anos 2000, já coletamos arquivos de guerra (se falarmos sobre a pilha Java) e os implantamos assim, CI / CD começou a surgir.
O desenvolvimento moderno já é uma pilha gigante de tecnologia.
. , , , pipeline CI/CD, . . , Telegram , GitHub, GitLab, Bitbucket — .
Money , . .
Telegram-, , . , , -, DevOps, , , . , .
- . , , , . Atlassian.
Bitbucket-. , , code review, — Bitbucket code review tools. , Bitbucket, Confluence Jira , - . Bitbucket, GitHub Git.
, Bitbucket, GitHub, GitLab, , . , Bitbucket , REST API SDK. GitHub GitHub Actions — .
? , , , — , .
- — , .
— . , . , , . , .
— . — , , open source , .
Bitbucket code review tools —
Bitbucket code review tools. , , code review.
code review , , . .
Java. Atlassian SDK — Java. Atlassian REST API, . — , -, . , , .
, — , . pull request — , , , .
pull request
pull request, , , , . , pull request, pull request. , checked, approve pull request, , pull request — .
pull request pull request
, pull request pull request. , . pull request pull request, .
merge check
, , GitHub flow, . merge check . hotfix, . , , — develop. pull request develop, , hotfix .
20 , .
« code review ». , .
. Atlassian , , .
— Atlassian . , , , - . Atlassian Developer Community — - .
Atlassian-
.
Atlassian Plugin SDK.
.
.
.
.
Atlassian Plugin SDK
Atlassian Plugin SDK. : Java, Maven. SDK . — exe- , SDK.
Linux, , .
. — . , atlas version , . , Atlassian Plugin SDK , .
— , , Atlassian Plugin SDK Maven central repository, Maven, . IDE atlassian Maven, . , Atlassian, — .
maven-
SDK, .
Atlassian create Bitbucket plugin ( ). , Maven-, , .., . ( : https://github.com/GSkoba/bitbucket-plugin). .
Java Maven pom-, Bitbucket Atlassian, Bitbucket Parent Dependency Manager, .
, UI ORM-.
Java , - .
src, — Atlassian-plugin.xml. - Spring — , , , -, pom.xml. , , .
, Bitbucket — , UI, , , JavaScript.
, IDE , , Maven home directory Maven, Atlassian Plugin SDK. , — IDE , .
, Atlassian.xml, , , — .
atlas-mvn — Maven, Maven SDK.
Atlassian-
, . — , Bitbucket- .
SDK version run standalone. , .
-, .
— localhost:7990/bitbucket. , , — admin/admin. , , , . , .
, manage apps.
, , Bitbucket . . - — , .
Bitbucket-:
UI.
Bitbucket.
Pull Request Hook.
Pull Request Merge Check.
.
UI
, , , UI , UI . , , , Selenium, , . -, , .
Query Parameter |
Description |
web.items |
Web Item Client Web Item |
web.panels |
Web Panel Client Web Panel |
web.sections |
Web Section Client Web Section |
URL, debug mode , . : https://<your Bitbucket Server instance>/projects?web.items&web.panels&web.sections. id-.
, UI — . , UI , , .
, , , build, . , Jenkins build. Jira . — UI-, pull requests.
UI. — soy, . React- . - , , , . JavaScript , extension point — .
Bitbucket
Bitbucket-? — -, , . UI Bitbucket , . :
EventListener , endpoint — , . , . . , , Telegram- — Pull Request Hook. — . :
Interface |
Description |
PostRepositoryHook<T extends RepositoryHookRequest> |
, |
PreRepositoryHook<T extends RepositoryHookRequest> |
, |
RepositoryMergeCheck |
, |
generic — , .
.
, . , Bitbucket -, .
, , — .
Trigger |
Corresponding request type |
BRANCH_CREATE |
BranchCreationHookRequest |
BRANCH_DELETE |
BranchDeletionHookRequest |
FILE_EDIT |
FileEditHookRequest |
MERGE |
MergeHookRequest |
PULL_REQUEST_MERGE |
PullRequestMergeHookRequest |
REPO_PUSH |
RepositoryPushHookRequest |
TAG_CREATE |
TagCreationHookRequest |
TAG_DELETE |
TagDeletionHookRequest |
hook .
Pull Request Merge Check
— . ( ) : you shall not pass! ( , ). .
- — , , , . , , : «, , , -, , , , , , - ».
— . , Gradle-, .
, , , , pull request.
MergeCheck.
RepositoryMergeCheck, preUpdate. . context request , Git flow, , .
Bitbucket- , Bitbucket-. Atlassian ORM — active objects. , DTO- — , Todo.
Activebject dto. , , .
Money — , , UI .
Marketplace
, .
vendor, , . , Atlassian — .
, , Altassian-. Atlassian — , . Atlassian:
https://developer.atlassian.com/server/bitbucket/reference/api-changelog
https://www.atlassian.com/software
https://community.atlassian.com
— https://github.com/GSkoba/bitbucket-plugin . , - , Bitbucket- , .
MoneyDay - -. : https://youtu.be/lZBF1QV4ChE.
. , , . :)