Gdzie trzymają swoje prywatne projekty wykopowi programiści 15k ?

Z czego korzystacie, ile płacicie, jakie korzyści/dodatkowe opcje daje wybrana przez Was platforma?

#git #github #programowanie #programista15k #ci #pytaniedoeksperta #kiciochpyta
Pobierz QBA__ - Gdzie trzymają swoje prywatne projekty wykopowi programiści 15k ?

Z czego ...
źródło: comment_P3zRY3gmHJY2dszuH83Yn9F5WH0v4GyJ.jpg

Najlepsze repo na prywatne projekty

  • github 26.5% (39)
  • gitlab 22.4% (33)
  • bitbucket 25.9% (38)
  • własny serwer NAS + git 3.4% (5)
  • pendrive ( ͡° ͜ʖ ͡°) 4.1% (6)
  • folder projekty11 a potem robie projekty12 itd... 16.3% (24)
  • coś innego 1.4% (2)

Oddanych głosów: 147

Pracujemy nad porządnym gitflow, który chcemy spiąć z CI/CD i aktualnie pojawił się pewien problem.

Mianowicie - mamy dwa branche: pretest i master. Developerzy mergują branche feature do pretestu, tam są puszczane automaty, jeśli testy przejdą to jest robiony automatyczny merge do mastera.

Mamy 4 środowiska na które rzutują 4 branche:
- pretest env - pretest branch (na nim działają tylko automaty)
- test env - master (automatyczne podegranie po przejściu automatów
@Fristo: testy automatyczne będą u nas "w przyszłości" :D
Robimy na gałęzi merge z developa i wtedy jest test :)
I jak jest okej, to gałąź przyłączamy do developa.
Nie wiem na jakim poziomie patologii to jest, ale to moja pierwsza praca, więc trudno mi się tutaj wypowiadać, czy to dobrze, czy źle :)
Mirki - jak mogę przekazać parametr z testów junit do Jenkinsa a dalej na Slacka?

Chodzi o to, że testuje sobie zwrotki z API, w zwrotce mam pewną wartość np. "6879". Teraz chce ją wyciągnąć z tej zwrotki i w jakiś magiczny sposób wypchać info o niej na Slacka.

Ma ktoś jakiś pomysł? Ta liczba ciągle się zmienia tak btw, dlatego potrzebuje ją wyciągać przy każdym teście.

Z góry dziękuję za wszelkie
#programowanie #ci
Heja,
jakim narzędziom powinienem się przyglądnąć aby w projekcie zarządzać atrefaktami. to znaczy projekt składa się z frontendu, najpewniej angular obsługiwany przez npm. dalej jest moduł backendu obsługiwany przez mavena oraz osobna apka stojąca na scali obsługiwana przez sbt.

chciałbym abym mógł pobrać wszystkie dependency i wyprodukować wszystkie 3 artefakty tak zwanym jednym clean install. dodatkowo chciałbym generować model do angulara za pomocą klas z javy.

wiem że to wszystko
No elo,

Znacie jakiś prosty sposób na szyfrowanie i deszyfrowanie plików (chodzi o pliki *.env) na maszynach w procesie CI?

Chcemy trzymać zaszyfrowane pliki na gicie i szyfrować je parą kluczy. Sęk w tym, że klucz prywatny nie może być przechowywany na maszynach produkcyjnych, i teraz nie wiem jak to rozgryźć.

Teoretycznie mogę skorzystać z klucza Jenkinsa, który przechowuję na serwerze CI, tylko jak to zrobić....? To pytanie do Was. ( ͡
@damianbeat: to jak zawsze zależy

Do przechowywania credentiali możesz skorzystać z hashicorpowego vaulta - możesz go nawet z jenkinsem zintegrować: https://github.com/jenkinsci/hashicorp-vault-plugin

Jak siedzisz na AWSie to możesz użyć KMSa (Google Cloud też coś takiego oferuje btw: https://cloud.google.com/kms/)

Jeśli używasz Rundecka to możesz w nim zaszyć credentiale (ma bezpieczny store do takich rzeczy), nadać uprawnienia do wybranych katalogów jedynie wybranym encjom (userzy, maszyny, grupy - cokolwiek) i na tej podstawie propagować je
Murki!

Czy na każdej maszynie, na której chce dokonać zmian poprzez Jenkinsa muszę instalować Jenkinsa? :)

Mam Master'a, pod którego mam podpięte dwa Slave'y. Teraz doszedł mi następny serwer, na którym muszę dokonać klonowania repo w razie zmian. Zastanawiam się czy koniecznie muszę podpinać nową maszynę pod mastera i instalować na niej Jenkinsa, czy może mogę wysłać do niej tylko komendę przez ssh i tyle...

Jeśli wyślę komendę przez ssh to nie
ja tam pod linuchem lecę na ssh - wtedy w buildzie dostajesz wynik z konsoli ze slejwa. Pod windą trzeba odpalić ten programik slejwowy.
Zastanawia mnie tylko Twoje stwierdzenie, że chcesz "dokonywać zmian".
Bezpiecznym sposobem przesyłu to jest i scp, bo to w końcu "secure copy" :) Tak więc z Jenkinsa możesz i w ten sposób (spaczkuj wcześniej co tam masz do wysłania i prześlij).

Rundeck bardzo pomaga w większych rozwiązaniach, gdzie masz grupy użytkowników, którym chcesz spersonalizować uprawnienia do zasobów, deploymentów itd. Natomiast do mniejszych rzeczy to trochę przerost formy nad treścią. Jeśli Jenkins ci wystarcza to zostań przy nim. Rundeck jest komplementarnym narzędziem
stwórz klon taska


@kornfan: Hmm, to raczej zadziała, ale... jeżeli mam jakieś operacje, które muszą się wykonywać na kliencie i serwerze w określonej kolejności i operacje te zależą od siebie, to w dwóch taskach może mi się to chyba rozjechać?

Chyba, że wtedy tak że klon taska praktycznie pusty (tylko do zajęcia jednego node'a) a drugi wykonuje operacje na obydwu node'ach przez ssh. Ew. jakaś opcja z pipeline build, ale trochę