From 6815db5e4833393d38e7a319b0c806e8ea4058b9 Mon Sep 17 00:00:00 2001 From: ivar Date: Mon, 6 Oct 2025 12:09:28 +0200 Subject: 123 --- .version | 1 + .version-dev | 0 Dockerfile | 23 ++++++++++++ VegaData/.version | 1 - VegaData/.version-dev | 0 VegaData/Dockerfile | 23 ------------ VegaData/build_and_push.sh | 87 ---------------------------------------------- build_and_push.sh | 87 ++++++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 111 insertions(+), 111 deletions(-) create mode 100644 .version create mode 100644 .version-dev create mode 100644 Dockerfile delete mode 100644 VegaData/.version delete mode 100644 VegaData/.version-dev delete mode 100644 VegaData/Dockerfile delete mode 100755 VegaData/build_and_push.sh create mode 100755 build_and_push.sh diff --git a/.version b/.version new file mode 100644 index 0000000..29ef827 --- /dev/null +++ b/.version @@ -0,0 +1 @@ +v3 diff --git a/.version-dev b/.version-dev new file mode 100644 index 0000000..e69de29 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..afb5c9e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base +USER $APP_UID +WORKDIR /app +EXPOSE 8080 +EXPOSE 8081 + +FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src +COPY ["VegaData/VegaData.csproj", "VegaData/"] +RUN dotnet restore "VegaData/VegaData.csproj" +COPY . . +WORKDIR "/src/VegaData" +RUN dotnet build "./VegaData.csproj" -c $BUILD_CONFIGURATION -o /app/build + +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "./VegaData.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "VegaData.dll"] diff --git a/VegaData/.version b/VegaData/.version deleted file mode 100644 index 29ef827..0000000 --- a/VegaData/.version +++ /dev/null @@ -1 +0,0 @@ -v3 diff --git a/VegaData/.version-dev b/VegaData/.version-dev deleted file mode 100644 index e69de29..0000000 diff --git a/VegaData/Dockerfile b/VegaData/Dockerfile deleted file mode 100644 index afb5c9e..0000000 --- a/VegaData/Dockerfile +++ /dev/null @@ -1,23 +0,0 @@ -FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base -USER $APP_UID -WORKDIR /app -EXPOSE 8080 -EXPOSE 8081 - -FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build -ARG BUILD_CONFIGURATION=Release -WORKDIR /src -COPY ["VegaData/VegaData.csproj", "VegaData/"] -RUN dotnet restore "VegaData/VegaData.csproj" -COPY . . -WORKDIR "/src/VegaData" -RUN dotnet build "./VegaData.csproj" -c $BUILD_CONFIGURATION -o /app/build - -FROM build AS publish -ARG BUILD_CONFIGURATION=Release -RUN dotnet publish "./VegaData.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false - -FROM base AS final -WORKDIR /app -COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "VegaData.dll"] diff --git a/VegaData/build_and_push.sh b/VegaData/build_and_push.sh deleted file mode 100755 index 6dfeb96..0000000 --- a/VegaData/build_and_push.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/usr/bin/env bash - -set -Eueo pipefail - -CURRENT_DEV_VERSION=$(cat .version-dev) -CURRENT_DEV_VERSION_INT=${CURRENT_DEV_VERSION//[!0-9]/} -CURRENT_VERSION=$(cat .version) -CURRENT_VERSION_INT=${CURRENT_VERSION//[!0-9]/} -if [ ${1-prod} == "dev" ]; then - NEW_VERSION="v$((CURRENT_DEV_VERSION_INT + 1))-dev" -else - NEW_VERSION="v$((CURRENT_VERSION_INT + 1))" -fi -IMAGE_NAME="vegadata/server" -HUB_NAME="dr.ivar.systems/vegadata/server" - -# Check for uncommited changes and optionally commit them -if [ "$(git status --untracked-files=no --porcelain)" ]; then - echo "Unclean git tree! press CTRL+C to exit or press ENTER to commit and push to the default branch" - read -n 1 - - read -p "Enter commit message: " COMMIT_MESSAGE - git add .. - git commit --quiet -m "$COMMIT_MESSAGE" -fi - -if [ ${1-prod} == "dev" ]; then - echo $NEW_VERSION >|.version-dev - git add .version-dev -else - echo $NEW_VERSION >|.version - git add .version -fi - -echo "Starting build of $HUB_NAME:$NEW_VERSION at $(date -u)..." -echo - -# Put version.txt inside of server -pushd wwwroot -echo "$NEW_VERSION" >version.txt -git add version.txt -popd - -git commit --quiet -m "chore(release): Bump version" - -read -p "Do you want to tag this build? (y/n) " -n 1 -r -echo -if [[ $REPLY =~ ^[Yy]$ ]]; then - read -p "Enter tag message (can be empty): " TAG_MESSAGE - git tag -am "$TAG_MESSAGE" $NEW_VERSION -fi - -read -p "Do you want to push the latest commits and tags to origin? (y/n) " -n 1 -r -echo -if [[ $REPLY =~ ^[Yy]$ ]]; then - echo "Pushing latest changes to remotes..." - echo - git push --quiet --follow-tags -fi - -# Build podman image -echo "Building podman image" -echo - -podman build -t $IMAGE_NAME:$NEW_VERSION . - -podman tag $IMAGE_NAME:$NEW_VERSION $HUB_NAME:$NEW_VERSION - -if [ ${1-prod} == "dev" ]; then - podman tag $IMAGE_NAME:$NEW_VERSION $HUB_NAME:latest-dev -fi -if [ ${1-prod} == "prod" ]; then - podman tag $IMAGE_NAME:$NEW_VERSION $HUB_NAME:latest -fi - -# Optionally push images to podman registry -echo "Press CTRL+C to exit or press ENTER to push podman image to registry" -read -n 1 -podman push $HUB_NAME:$NEW_VERSION - -if [ ${1-prod} == "dev" ]; then - podman push $HUB_NAME:latest-dev -fi - -if [ ${1-prod} == "prod" ]; then - podman push $HUB_NAME:latest -fi diff --git a/build_and_push.sh b/build_and_push.sh new file mode 100755 index 0000000..94b40cc --- /dev/null +++ b/build_and_push.sh @@ -0,0 +1,87 @@ +#!/usr/bin/env bash + +set -Eueo pipefail + +CURRENT_DEV_VERSION=$(cat .version-dev) +CURRENT_DEV_VERSION_INT=${CURRENT_DEV_VERSION//[!0-9]/} +CURRENT_VERSION=$(cat .version) +CURRENT_VERSION_INT=${CURRENT_VERSION//[!0-9]/} +if [ ${1-prod} == "dev" ]; then + NEW_VERSION="v$((CURRENT_DEV_VERSION_INT + 1))-dev" +else + NEW_VERSION="v$((CURRENT_VERSION_INT + 1))" +fi +IMAGE_NAME="vegadata/server" +HUB_NAME="dr.ivar.systems/vegadata/server" + +# Check for uncommited changes and optionally commit them +if [ "$(git status --untracked-files=no --porcelain)" ]; then + echo "Unclean git tree! press CTRL+C to exit or press ENTER to commit and push to the default branch" + read -n 1 + + read -p "Enter commit message: " COMMIT_MESSAGE + git add . + git commit --quiet -m "$COMMIT_MESSAGE" +fi + +if [ ${1-prod} == "dev" ]; then + echo $NEW_VERSION >|.version-dev + git add .version-dev +else + echo $NEW_VERSION >|.version + git add .version +fi + +echo "Starting build of $HUB_NAME:$NEW_VERSION at $(date -u)..." +echo + +# Put version.txt inside of server +pushd VegaData/wwwroot +echo "$NEW_VERSION" >version.txt +git add version.txt +popd + +git commit --quiet -m "chore(release): Bump version" + +read -p "Do you want to tag this build? (y/n) " -n 1 -r +echo +if [[ $REPLY =~ ^[Yy]$ ]]; then + read -p "Enter tag message (can be empty): " TAG_MESSAGE + git tag -am "$TAG_MESSAGE" $NEW_VERSION +fi + +read -p "Do you want to push the latest commits and tags to origin? (y/n) " -n 1 -r +echo +if [[ $REPLY =~ ^[Yy]$ ]]; then + echo "Pushing latest changes to remotes..." + echo + git push --quiet --follow-tags +fi + +# Build podman image +echo "Building podman image" +echo + +podman build -t $IMAGE_NAME:$NEW_VERSION . + +podman tag $IMAGE_NAME:$NEW_VERSION $HUB_NAME:$NEW_VERSION + +if [ ${1-prod} == "dev" ]; then + podman tag $IMAGE_NAME:$NEW_VERSION $HUB_NAME:latest-dev +fi +if [ ${1-prod} == "prod" ]; then + podman tag $IMAGE_NAME:$NEW_VERSION $HUB_NAME:latest +fi + +# Optionally push images to podman registry +echo "Press CTRL+C to exit or press ENTER to push podman image to registry" +read -n 1 +podman push $HUB_NAME:$NEW_VERSION + +if [ ${1-prod} == "dev" ]; then + podman push $HUB_NAME:latest-dev +fi + +if [ ${1-prod} == "prod" ]; then + podman push $HUB_NAME:latest +fi -- cgit v1.3