Proces Releasowania
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
idebuild
. - 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
icx_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
idebuild
orazpyinstaller
icx_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
- https://github.com/CodeForPoznan/alinka-pyside/pull/46
- https://semver.org/
- https://calver.org/
- https://poetry.org/
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.