Gdzie przechowywac niepowiazane skrypty do pracy lokalnej?

Gdzie przechowywac niepowiazane skrypty do pracy lokalnej?
lambdadziara
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 7 godzin
  • Postów:442
0

Np powiedzmy, ze mamy spory plik excel i napisalismy program w Python do parsowania i generowania insertow co sa potrzebne, albo jakies mapowanie czegostam. I caly serwis to jest powiedzmy jakis mikroserwis w springboot korzystajacy posrednio z tych danych - ale nie ze skryptu, ktory jest pomocny tylko lokalnie dla developera.
Czy jest sens pushowac taki skrypt na "dev" branch i czy w takim wypadku jest sens pushowac go dalej na "qat"? Nie ma sensu zasmiecac wyzszych env typu PROD/UAT jak nie bedzie to tam wykorzystywane. Jak ktos automatycznie sprawdza roznice dev-qat, to taki plik moze przeszkadzac, bo sie bedzie platac, pokazywac roznice gdzie jej nie ma.
Z drugiej strony nie spushowac, to plik sie zgubi, albo strata czasu, szukac tego lokalnie.
Robic inne repo specjalnie, tez moze byc strata czasu i biurokracja. Mozna zrobic oddzielnego brancha, ale ktors moze zrobic purge przy migracji i usunac. To co w koncu robic z takimi skryptami?

not Michal
  • Rejestracja:około rok
  • Ostatnio:4 miesiące
  • Lokalizacja:Zug, Szwajcaria
  • Postów:67
1

Companion repo brzmi sensownie 👍


KE
  • Rejestracja:około 6 lat
  • Ostatnio:około 3 godziny
  • Postów:659
4

Ciekawe pytanie, sam nie jestem przekonany, bo oba rozwiązania (to samo repo i inne repo) mają wady i zalety, ale chyba wolałbym, żeby cały kod powiązany z daną aplikacją był jednak w jednym repo. Tak, będzie trzeba pewnie formalnie przepchnąć "pustą" zmianę na wyższe branche/środowiska (bo zakładam że ten skrypt po prostu sobie leży w katalogu gdzieś, gdzie nie jest brany pod uwagę przy budowaniu), ale to jest (przynajmniej dla mnie) akceptowalny narzut.

EDIT: czyli w praktyce, masz projekt typu Maven, i po prostu robisz katalog /tools czy /utils czy cokolwiek, i wpieprzasz tam cały ten majdan. Jak ktoś przegląda PR to wie po nazwie folderu, że to nie jest używane na produkcji (przynajmniej w zamyśle). Tak samo jakieś dane przykładowe ale nieużywane w testach.

edytowany 1x, ostatnio: kelog
KL
  • Rejestracja:11 miesięcy
  • Ostatnio:21 minut
  • Postów:356
1
lambdadziara napisał(a):

Czy jest sens pushowac taki skrypt na "dev" branch i czy w takim wypadku jest sens pushowac go dalej na "qat"?

Ja bym się zastanowił czy w ogólności jest sens posiadania brancha per środowisko, bo z opisu rozumiem, że tak macie.

Zobacz pozostały 1 komentarz
KL
Jaką to ma zaletę nad pojedynczym branchem main, buildem który buduje gotowy do deployu artefakt (najlepiej automatycznie z każdym pushem do maina) i później tylko robisz deploy zbudowanego wcześniej artefaktu na kolejne środowiska?
KE
Sam sobie odpowiedziałeś "tylko robisz deploy na kolejne" - ja nie muszę w tym modelu nic robić, samo się robi.
KL
xD Musisz zrobić merge, a w podejściu ze zbudowanym artefaktem kliknąć run na pipeline. Żadna to zaleta.
somekind
@kelog: generalnie idea jest taka, aby tę samą wersję softu wdrażać na różne środowiska, a nie mieć na każdym środowisku co innego. Jeśli masz branch per env, to na devie możesz mieć Hello worlda, a na prodzie kalkulator BMI.
KE
Jasne, zgadzam się :) w poprzedniej firmie używałem branch-per-env (bo były tylko 3 środowiska, z czego 2 odpowiadały gałęziom), teraz używam tego drugiego modelu, bo jest ich rząd wielkości więcej i prościej wydawać zawsze mikroserwis z numerkiem i potem kto go wrzuca gdzie to jego sprawa.
FU
  • Rejestracja:11 miesięcy
  • Ostatnio:10 miesięcy
  • Postów:7
3
lambdadziara napisał(a):

Nie ma sensu zasmiecac wyzszych env typu PROD/UAT jak nie bedzie to tam wykorzystywane.

W jaki sposób doszedłeś do tego że będzie to zaśmiecać PROD? O ile ten Spring mikro serwis nie wystawia wszystkich plików które są w repo do internetu to jest dobrze 😁

Ja preferuję mieć wszystko w jednym repo. Aczkolwiek wydaje mi się że pytasz o gusta, a więc to zależy.

KE
  • Rejestracja:około 6 lat
  • Ostatnio:około 3 godziny
  • Postów:659
2

W jaki sposób doszedłeś do tego że będzie to zaśmiecać PROD

Zwróciłeś mi na jedną rzecz uwagę - w przypadku chorych korpo, w których mamy drakońskie skany i statyczną analizę kodu -> zdecydowanie osobne repo. Tłumaczenie się, że w repo javowym masz skrypt w JS i tak naprawdę jest tylko odpalany lokalnie, a 1337 przestarzałych zależności to nie jest istotny problem do rozwiązania, to raczej strata czasu.

FU
Znam ten ból ale moje korpo nie jest aż tak chore.
lambdadziara
no wlasnie xD o to mi mniej wiecej chodzi. W korpo ludziom przeszkadza taki kod, zaraz sie pytaja, gdzie sie tego uzywa
marian pazdzioch
No ja się zawsze pytam. Bo każdy kod powinien mieć jakąś dokumentację, czy to oznaczenie Jira roleta w comit mesydżu, czy to w readme, czy to gdzieś w umówionym miejscu, czy to w treści samego kodu. Ale kod który nie wiadomo czym jest bez opisu to faktycznie jest zaśmiecanie.
AS
  • Rejestracja:11 miesięcy
  • Ostatnio:11 miesięcy
  • Postów:5
0

Ma sens zaśmiecać to można traktować jako kopie zapasową za jakiś czas będziesz czegoś szukać to sobie pomyślisz, a na gicie to było i może przetrwało.

Git też nie zapisuje wszystkiego, a różnice, czyli w miarę jest optymalnie im więcej kopii tym lepiej kiedyś coś się spiepszy jakiś dysk czy coś i będziesz szukać jak problem rozwiązać, a na szczęście będzie kopia na githubie czy gdzieś.

Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)