Proces Releasowania

by ADMIN 20 views

Wprowadzenie

W dzisiejszym artykule omówimy proces releasowania, który jest niezbędny do udostępniania nowych wersji naszego oprogramowania. Proces ten powinien być automatyczny, aby zapewnić stabilność i efektywność wdrożenia nowych funkcji. W tym artykule przedstawimy procedurę budowania developwerskich paczek DEB i EXE, a także omówimy sposób tworzenia pipeline'a, który będzie odpowiedzialny za tworzenie release'a na Githubie, budowanie DEB i EXE oraz podbój nowego release'a do poetry.

Budowanie Developwerskich Packerów DEB i EXE

Obecnie mamy procedurę budowania developwerskich paczek DEB i EXE, która została opisana w pull request'u na Githubie (https://github.com/CodeForPoznan/alinka-pyside/pull/46). Proces ten polega na tworzeniu paczek DEB i EXE, które zawierają nasze oprogramowanie. Poniżej przedstawiamy krótki opis procesu budowania paczek:

  • Tworzenie paczek DEB: Proces ten polega na tworzeniu paczek DEB, które zawierają nasze oprogramowanie. Paczki te są tworzone przy użyciu narzędzi takich jak dpkg i debuild.
  • Tworzenie paczek EXE: Proces ten polega na tworzeniu paczek EXE, które zawierają nasze oprogramowanie. Paczki te są tworzone przy użyciu narzędzi takich jak pyinstaller i cx_Freeze.

Tworzenie Pipeline'a

Aby zapewnić automatyczne tworzenie release'a na Githubie, budowanie DEB i EXE oraz podbój nowego release'a do poetry, musimy stworzyć pipeline. Pipeline ten powinien być odpowiedzialny za wykonywanie następujących kroków:

  • Tworzenie release'a na Githubie: Proces ten polega na tworzeniu release'a na Githubie, który zawiera informacje o nowej wersji naszego oprogramowania. Release ten powinien zawierać informacje o zmianach, które zostały wprowadzone w nowej wersji.
  • Budowanie DEB i EXE: Proces ten polega na budowaniu paczek DEB i EXE, które zawierają nasze oprogramowanie. Paczki te powinny być tworzone przy użyciu narzędzi takich jak dpkg i debuild oraz pyinstaller i cx_Freeze.
  • Podbój nowego release'a do poetry: Proces ten polega na podbiciu nowego release'a do poetry, który jest źródłem prawidłowych informacji o wersji naszego oprogramowania.

Przejście na CalVer

Obecnie używamy semantycznych wersji (SemVer), które nie są zbyt popularne wśród programistów. Rozpatrujemy przejście na CalVer, która jest bardziej popularna i łatwa do zrozumienia. CalVer to system wersji, który polega na używaniu roku jako części wersji. Na przykład, wersja 2023.1.0 oznacza, że wersja została wydana w 2023 roku i jest pierwszą wersją tego roku.

Podsumowanie

Proces releasowania jest niezbędny do udostępniania nowych wersji naszego oprogramowania. Proces ten powinien być automatyczny, aby zapewnić stabilność i efektywność wdrożenia nowych funkcji. W tym artykule przedstawiliśmy procedurę budowania developwerskich paczek DEB i EXE, a także omówiliśmy sposób tworzenia pipeline'a, który będzie odpowiedzialny za tworzenie release'a na Githubie, budowanie DEB i EXE oraz podbój nowego release'a do poetry. Ponadto, rozpatrujemy przejście na CalVer, która jest bardziej popularna i łatwa do zrozumienia.

Zasoby

Przykładowe Kod

Poniżej przedstawiamy przykładowy kod, który może być użyty do tworzenia pipeline'a:

# Tworzenie release'a na Githubie
git add .
git commit -m "Nowa wersja"
git tag -a "v1.0.0" -m "Nowa wersja"
git push origin master

# Budowanie DEB i EXE
dpkg-buildpackage -rfakeroot -uc -us .
pyinstaller --onefile main.py

# Podbój nowego release'a do poetry
poetry version 1.0.0

Powyższy kod jest tylko przykładem i może być modyfikowany w zależności od potrzeb.

Czym jest proces releasowania?

Proces releasowania to procedura, która umożliwia udostępnianie nowych wersji naszego oprogramowania. Proces ten powinien być automatyczny, aby zapewnić stabilność i efektywność wdrożenia nowych funkcji.

Dlaczego jest ważne, aby proces releasowania był automatyczny?

Automatyczny proces releasowania zapewnia, że nowe wersje oprogramowania są udostępniane szybko i efektywnie. To również pomaga uniknąć błędów i problemów związanych z ręcznym procesem releasowania.

Jak powinien wyglądać proces releasowania?

Proces releasowania powinien obejmować następujące kroki:

  • Tworzenie release'a na Githubie
  • Budowanie DEB i EXE
  • Podbój nowego release'a do poetry

Czym jest CalVer?

CalVer to system wersji, który polega na używaniu roku jako części wersji. Na przykład, wersja 2023.1.0 oznacza, że wersja została wydana w 2023 roku i jest pierwszą wersją tego roku.

Dlaczego powinno się używać CalVer?

CalVer jest bardziej popularny i łatwy do zrozumienia niż semantyczne wersje (SemVer). Używanie CalVer pomaga uniknąć problemów związanych z zrozumieniem semantycznych wersji.

Jak powinno się tworzyć release'a na Githubie?

Release na Githubie powinien zawierać informacje o nowej wersji oprogramowania, w tym zmiany, które zostały wprowadzone w nowej wersji.

Jak powinno się budować DEB i EXE?

DEB i EXE powinny być budowane przy użyciu narzędzi takich jak dpkg i debuild oraz pyinstaller i cx_Freeze.

Jak powinno się podbijać nowego release'a do poetry?

Nowy release powinien być podbity do poetry przy użyciu polecenia poetry version.

Czym jest poetry?

Poetry to narzędzie, które umożliwia zarządzanie wersjami oprogramowania. Poetry jest źródłem prawidłowych informacji o wersji oprogramowania.

Dlaczego powinno się używać poetry?

Poetry jest bardziej popularne i łatwe do zrozumienia niż inne narzędzia zarządzania wersjami. Używanie poetry pomaga uniknąć problemów związanych z zarządzaniem wersjami.

Zasoby

Przykładowe Kod

Poniżej przedstawiamy przykładowy kod, który może byćty do tworzenia pipeline'a:

# Tworzenie release'a na Githubie
git add .
git commit -m "Nowa wersja"
git tag -a "v1.0.0" -m "Nowa wersja"
git push origin master

# Budowanie DEB i EXE
dpkg-buildpackage -rfakeroot -uc -us .
pyinstaller --onefile main.py

# Podbój nowego release'a do poetry
poetry version 1.0.0

Powyższy kod jest tylko przykładem i może być modyfikowany w zależności od potrzeb.