mirror of
https://github.com/opengram-server/opengram.git
synced 2026-07-20 12:40:17 +03:00
Initial commit
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
export MYTELEGRAM_SERVER_NAME="mytelegram-messenger-command-server"
|
||||
|
||||
. ./helper.sh
|
||||
$BUILD_ALL_COMMAND
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
export MYTELEGRAM_SERVER_NAME="mytelegram-messenger-query-server"
|
||||
|
||||
. ./helper.sh
|
||||
$BUILD_ALL_COMMAND
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
export MYTELEGRAM_SERVER_NAME="mytelegram-sms-sender"
|
||||
|
||||
. ./helper.sh
|
||||
$BUILD_ALL_COMMAND
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
export MYTELEGRAM_SERVER_NAME="mytelegram-gateway-server"
|
||||
|
||||
. ./helper.sh
|
||||
$BUILD_ALL_COMMAND
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
export MYTELEGRAM_SERVER_NAME="mytelegram-auth-server"
|
||||
|
||||
. ./helper.sh
|
||||
$BUILD_ALL_COMMAND
|
||||
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
export MYTELEGRAM_SERVER_NAME="mytelegram-data-seeder"
|
||||
|
||||
. ./helper.sh
|
||||
$BUILD_ALL_COMMAND
|
||||
@@ -0,0 +1,46 @@
|
||||
# See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
|
||||
|
||||
# This stage is used when running from VS in fast mode (Default for Debug configuration)
|
||||
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/runtime:9.0 AS base
|
||||
USER $APP_UID
|
||||
WORKDIR /app
|
||||
|
||||
|
||||
# This stage is used to build the service project
|
||||
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
ARG TARGETARCH
|
||||
WORKDIR /src
|
||||
COPY ["Directory.Packages.props", "."]
|
||||
COPY ["Directory.Build.props", "."]
|
||||
COPY ["nuget.config", "."]
|
||||
COPY ["src/MyTelegram.DataSeeder/MyTelegram.DataSeeder.csproj", "src/MyTelegram.DataSeeder/"]
|
||||
COPY ["src/MyTelegram.Domain/MyTelegram.Domain.csproj", "src/MyTelegram.Domain/"]
|
||||
COPY ["src/MyTelegram.Domain.Shared/MyTelegram.Domain.Shared.csproj", "src/MyTelegram.Domain.Shared/"]
|
||||
COPY ["src/MyTelegram.Abstractions/MyTelegram.Abstractions.csproj", "src/MyTelegram.Abstractions/"]
|
||||
COPY ["src/MyTelegram.Schema/MyTelegram.Schema.csproj", "src/MyTelegram.Schema/"]
|
||||
COPY ["src/MyTelegram.EventFlow/MyTelegram.EventFlow.csproj", "src/MyTelegram.EventFlow/"]
|
||||
COPY ["src/MyTelegram.QueryHandlers.MongoDB/MyTelegram.QueryHandlers.MongoDB.csproj", "src/MyTelegram.QueryHandlers.MongoDB/"]
|
||||
COPY ["src/MyTelegram.Queries/MyTelegram.Queries.csproj", "src/MyTelegram.Queries/"]
|
||||
COPY ["src/MyTelegram.ReadModel/MyTelegram.ReadModel.csproj", "src/MyTelegram.ReadModel/"]
|
||||
COPY ["src/MyTelegram.ReadModel.Interfaces/MyTelegram.ReadModel.Interfaces.csproj", "src/MyTelegram.ReadModel.Interfaces/"]
|
||||
COPY ["src/MyTelegram.ReadModel.MongoDB/MyTelegram.ReadModel.MongoDB.csproj", "src/MyTelegram.ReadModel.MongoDB/"]
|
||||
COPY ["src/MyTelegram.EventFlow.MongoDB/MyTelegram.EventFlow.MongoDB.csproj", "src/MyTelegram.EventFlow.MongoDB/"]
|
||||
COPY ["src/MyTelegram.Services/MyTelegram.Services.csproj", "src/MyTelegram.Services/"]
|
||||
COPY ["src/MyTelegram.Core/MyTelegram.Core.csproj", "src/MyTelegram.Core/"]
|
||||
COPY ["src/MyTelegram.EventBus/MyTelegram.EventBus.csproj", "src/MyTelegram.EventBus/"]
|
||||
RUN dotnet restore -a $TARGETARCH "./src/MyTelegram.DataSeeder/MyTelegram.DataSeeder.csproj"
|
||||
COPY . .
|
||||
WORKDIR "/src/src/MyTelegram.DataSeeder"
|
||||
RUN dotnet build "./MyTelegram.DataSeeder.csproj" -a $TARGETARCH -c $BUILD_CONFIGURATION -o /app/build
|
||||
|
||||
# This stage is used to publish the service project to be copied to the final stage
|
||||
FROM build AS publish
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
RUN dotnet publish "./MyTelegram.DataSeeder.csproj" -a $TARGETARCH -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||
|
||||
# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
ENTRYPOINT ["dotnet", "MyTelegram.DataSeeder.dll"]
|
||||
@@ -0,0 +1,40 @@
|
||||
# See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging.
|
||||
|
||||
# This stage is used when running from VS in fast mode (Default for Debug configuration)
|
||||
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/runtime:9.0 AS base
|
||||
USER $APP_UID
|
||||
WORKDIR /app
|
||||
|
||||
# This stage is used to build the service project
|
||||
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0 AS build
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
ARG TARGETARCH
|
||||
WORKDIR /src
|
||||
COPY ["Directory.Packages.props", "."]
|
||||
COPY ["Directory.Build.props", "."]
|
||||
COPY ["nuget.config", "."]
|
||||
COPY ["src/MyTelegram.SmsSender/MyTelegram.SmsSender.csproj", "src/MyTelegram.SmsSender/"]
|
||||
COPY ["src/MyTelegram.Core/MyTelegram.Core.csproj", "src/MyTelegram.Core/"]
|
||||
COPY ["src/MyTelegram.Abstractions/MyTelegram.Abstractions.csproj", "src/MyTelegram.Abstractions/"]
|
||||
COPY ["src/MyTelegram.Domain.Shared/MyTelegram.Domain.Shared.csproj", "src/MyTelegram.Domain.Shared/"]
|
||||
COPY ["src/MyTelegram.Schema/MyTelegram.Schema.csproj", "src/MyTelegram.Schema/"]
|
||||
COPY ["src/MyTelegram.EventBus.RabbitMQ/MyTelegram.EventBus.RabbitMQ.csproj", "src/MyTelegram.EventBus.RabbitMQ/"]
|
||||
COPY ["src/MyTelegram.EventBus/MyTelegram.EventBus.csproj", "src/MyTelegram.EventBus/"]
|
||||
COPY ["src/MyTelegram.Services/MyTelegram.Services.csproj", "src/MyTelegram.Services/"]
|
||||
COPY ["src/MyTelegram.EventFlow/MyTelegram.EventFlow.csproj", "src/MyTelegram.EventFlow/"]
|
||||
RUN dotnet restore -a $TARGETARCH "./src/MyTelegram.SmsSender/MyTelegram.SmsSender.csproj"
|
||||
COPY . .
|
||||
WORKDIR "/src/src/MyTelegram.SmsSender"
|
||||
RUN dotnet build "./MyTelegram.SmsSender.csproj" -a $TARGETARCH -c $BUILD_CONFIGURATION -o /app/build
|
||||
|
||||
# This stage is used to publish the service project to be copied to the final stage
|
||||
FROM build AS publish
|
||||
ARG BUILD_CONFIGURATION=Release
|
||||
ARG TARGETARCH
|
||||
RUN dotnet publish "./MyTelegram.SmsSender.csproj" -a $TARGETARCH -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
|
||||
|
||||
# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
|
||||
FROM base AS final
|
||||
WORKDIR /app
|
||||
COPY --from=publish /app/publish .
|
||||
ENTRYPOINT ["dotnet", "MyTelegram.SmsSender.dll"]
|
||||
@@ -0,0 +1,13 @@
|
||||
### Run the following scripts to build docker images
|
||||
### linux/amd64 (build)
|
||||
```
|
||||
build-all-amd64.sh
|
||||
```
|
||||
### linux/arm64 (build)
|
||||
```
|
||||
build-all-arm64.sh
|
||||
```
|
||||
### linux/amd64 & linux/arm64 (build and push)
|
||||
```
|
||||
build-and-push-all-amd64-arm64.sh
|
||||
```
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/sh
|
||||
./1.build-messenger-command-server.sh
|
||||
./2.build-messenger-query-server.sh
|
||||
./4.build-sms-sender.sh
|
||||
./5.build-gateway-server.sh
|
||||
./6.build-auth-server.sh
|
||||
./7.build-data-seeder.sh
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
export BUILDPLATFORM="linux/arm64"
|
||||
export TARGETARCH="linux/arm64"
|
||||
./1.build-messenger-command-server.sh
|
||||
./2.build-messenger-query-server.sh
|
||||
./4.build-sms-sender.sh
|
||||
./5.build-gateway-server.sh
|
||||
./6.build-auth-server.sh
|
||||
./7.build-data-seeder.sh
|
||||
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
export BUILDPLATFORM="linux/amd64,linux/arm64"
|
||||
export TARGETARCH="linux/amd64,linux/arm64"
|
||||
#export REGISTRY_URL="localhost:8500"
|
||||
export BUILD_COMMAND="docker buildx build --push"
|
||||
./1.build-messenger-command-server.sh
|
||||
./2.build-messenger-query-server.sh
|
||||
./4.build-sms-sender.sh
|
||||
./5.build-gateway-server.sh
|
||||
./6.build-auth-server.sh
|
||||
./7.build-data-seeder.sh
|
||||
@@ -0,0 +1,11 @@
|
||||
#!/bin/sh
|
||||
export BUILDPLATFORM="linux/amd64"
|
||||
export TARGETARCH="linux/amd64"
|
||||
export REGISTRY_URL="localhost:8500"
|
||||
export BUILD_COMMAND="docker buildx build --push"
|
||||
./1.build-messenger-command-server.sh
|
||||
./2.build-messenger-query-server.sh
|
||||
./4.build-sms-sender.sh
|
||||
./5.build-gateway-server.sh
|
||||
./6.build-auth-server.sh
|
||||
./7.build-data-seeder.sh
|
||||
@@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
v=$(head -n 1 ../version.txt)
|
||||
currentDate=`date +%-m%d`
|
||||
export DEFAULT_VERSION=$v.$currentDate
|
||||
export DEFAULT_IMAGE_VERSION=$DEFAULT_VERSION
|
||||
DEFAULT_PLATFORM="linux/amd64"
|
||||
|
||||
: ${VERSION:=$DEFAULT_VERSION}
|
||||
: ${IMAGE_VERSION:=$DEFAULT_IMAGE_VERSION}
|
||||
: ${TARGETARCH:=$DEFAULT_PLATFORM}
|
||||
: ${BUILDPLATFORM:=$DEFAULT_PLATFORM}
|
||||
: ${BUILD_CONFIGURATION:="Release"}
|
||||
: ${REGISTRY_URL:="mytelegram"}
|
||||
: ${BUILD_COMMAND:="docker build" }
|
||||
: ${MYTELEGRAM_SERVER_NAME:="mytelegram-messenger-command-server"}
|
||||
: ${IMAGE_NAME:=$REGISTRY_URL/$MYTELEGRAM_SERVER_NAME}
|
||||
: ${DOCKER_FILENAME:="./Dockerfile-$MYTELEGRAM_SERVER_NAME"}
|
||||
|
||||
echo Version: $VERSION
|
||||
echo Docker image version: $IMAGE_VERSION
|
||||
echo Target architecture: $TARGETARCH
|
||||
echo Buld configuration: $BUILD_CONFIGURATION
|
||||
|
||||
: ${BUILD_ALL_COMMAND:=$BUILD_COMMAND \
|
||||
--platform $BUILDPLATFORM \
|
||||
--build-arg BUILD_CONFIGURATION=$BUILD_CONFIGURATION \
|
||||
--tag $IMAGE_NAME:$IMAGE_VERSION \
|
||||
--tag $IMAGE_NAME:latest \
|
||||
--file $DOCKER_FILENAME \
|
||||
../../source \
|
||||
--network=host}
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
export REGISTRY_URL="mytelegram"
|
||||
|
||||
./1.build-messenger-command-server.sh
|
||||
./2.build-messenger-query-server.sh
|
||||
./4.build-sms-sender.sh
|
||||
./5.build-gateway-server.sh
|
||||
./6.build-auth-server.sh
|
||||
Reference in New Issue
Block a user