Hola a todos, soy un desarrollador de Java en YuMoney.
En este artĂculo quiero hablar sobre quĂ© beneficio se puede obtener optimizando las herramientas existentes en la empresa, por quĂ© merece la pena hacerlo y por dĂłnde es mejor empezar. Usando la pila de Atlassian y el complemento Bitbucket que usamos en UMoney como ejemplo, contarĂ© y mostrarĂ© todo en detalle. ÂĄVamos!
Si recuerdas el desarrollo del software en los años 70 y 80, te vienen a la mente computadoras y mĂĄquinas gigantes en las que los ingenieros colocaban tarjetas perforadas. Hubo instrucciones, se ejecutaron, se obtuvo algĂșn tipo de resultado. Y, por supuesto, en un sistema de este tipo no habĂa registro, ni CI / CD, ni contenedorizaciĂłn.
Con el tiempo, el desarrollo se desarrolló y, a principios de la década de 2000, ya recopilamos archivos de guerra (si hablamos de la pila de Java) y los implementamos de esta manera, CI / CD comenzó a surgir.
El desarrollo moderno ya es una pila de tecnologĂa gigante.
. , , , 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.
. , , . :)