Push do Nexusa, jeśli Jenkins zbuduje projekt bez błędów

0

Cześć.
Mam kilka repo które są podpięte pod Jenkinsa (z którego korzystam ale nie jestem jakimś specjalistą).
Wszystko hula, projekty budują się z developa tak jak powinny.
Chciałbym teraz podpiąć pod to jakiś trigger (?) który jeśli Jenkins zbuduje projekt bez błędów, wypushuje artefakt do Nexus'a.
Znalazłem 2 drogi które wydaje mi się że mogą zadziałać.

  1. W Jenkinsie w konfiguracji znalazłem opcję: "Add post-build action" w której jest akcja "Deploy artifacts to Maven repository".
  2. Nexus Jenkins Plugin (https://support.sonatype.com/hc/en-us/articles/227256688-How-do-I-configure-the-Nexus-Jenkins-Plugin) - "instalowany" w Jenkinsie.

Pytanie czy ktoś już coś podobnego robił i mógłby podpowiedzieć którędy się za to zabrać?
Sprawdziłbym powyższe metodą prób i błędów ale działam na żywym organiźmie więc wolałbym się najpierw upewnić.

Pozdrawiam.

0

A jak budujesz te twoje aplikacje? Bo np. jest maven release plugin który potrafi takie rzeczy robić ;)

0

Dodany jest docker maven plugin który buduje war'a (który to war chciałbym aby znalazł się w Nexus'ie). Projekty oczywiście są maven'owe.

0

Okej, myślę że może się nadać. Spróbuję, w każdym razie dzięki.

0

@Shalom Ogólnie poniekąd działa aczkolwiek to nie jest do końca to czego potrzebuję, albo po prostu to kwestia konfiguracji. Plugin powoduje utworzenie nowej wersji wydania + dodanie tagu w repo z wersją itp. W sumie wygląda to całkiem obiecująco, jednak póki co nie bardzo chcę aby tworzył mi się nowy release, a jedynie aby był pushowany obraz dockera utworzony przez docker-maven-plugin (*.war). Tagowania w repo też w sumie nie potrzebuje.
Reasumując. mvn install buduje mi war'a z obrazem dockera (to samo jest zrobione na Jenkinsie) i to właśnie tego war'a chciałbym wrzucić do Nexusa. Można w tą stronę wykorzystać ten plugin czy musi sam utworzyć sobie wydanie żeby móc je wyeksportować?

0

Nie jestem pewien czy mozesz to sobie tak obciąć. Ale czemu w zasadzie ci to tagowanie w repo przeszkadza i dodanie artefaktu do nexusa? To jest bardzo dobra praktyka, bo dzięki temu masz konkretne wersje w repo i masz źródła odpowiadające tej wersji.

0

Generalnie tagowanie mi nie przeszkadza i zdaje sobie z tego sprawę że jest to dobra praktyka. Problem w tym że projekt nie jest nigdzie wdrożony póki co, i push do Nexus'a ma się robić po każdym poprawnym zbudowaniu develop'a na Jenkinsie. Jeśli każdy poprawny build tworzy push do Nexus'a to każdy merge z developem będzie tworzył nowy tag. Będzie tego po prostu za dużo. Co i innego gdyby tag robiony był po mergu z masterem - wówczas okej, zgadzam się że to dobra praktyka. W przypadku developa moim zdaniem będzie tego zbyt wiele.

0

Dodaj sobie repozytorium o innym ID i w trybie snapshot=true. Niech plugin robi release do tego snapshotowego repozytorium. Wtedy nie będzie tagowania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1