This commit is contained in:
		
							
								
								
									
										31
									
								
								ops/devops/release/docker/Dockerfile.angular-ui
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								ops/devops/release/docker/Dockerfile.angular-ui
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| # syntax=docker/dockerfile:1.7-labs | ||||
|  | ||||
| ARG NODE_IMAGE=node:20.14.0-bookworm | ||||
| ARG NGINX_IMAGE=nginx:1.27-alpine | ||||
| ARG VERSION=0.0.0 | ||||
| ARG CHANNEL=dev | ||||
| ARG GIT_SHA=0000000 | ||||
| ARG SOURCE_DATE_EPOCH=0 | ||||
|  | ||||
| FROM ${NODE_IMAGE} AS build | ||||
| WORKDIR /workspace | ||||
| ENV CI=1 \ | ||||
|     SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} | ||||
| COPY src/StellaOps.Web/package.json src/StellaOps.Web/package-lock.json ./ | ||||
| RUN npm ci --prefer-offline --no-audit --no-fund | ||||
| COPY src/StellaOps.Web/ ./ | ||||
| RUN npm run build -- --configuration=production | ||||
|  | ||||
| FROM ${NGINX_IMAGE} AS runtime | ||||
| ARG VERSION | ||||
| ARG CHANNEL | ||||
| ARG GIT_SHA | ||||
| WORKDIR /usr/share/nginx/html | ||||
| RUN rm -rf ./* | ||||
| COPY --from=build /workspace/dist/stellaops-web/ /usr/share/nginx/html/ | ||||
| COPY ops/devops/release/docker/nginx-default.conf /etc/nginx/conf.d/default.conf | ||||
| LABEL org.opencontainers.image.version="${VERSION}" \ | ||||
|       org.opencontainers.image.revision="${GIT_SHA}" \ | ||||
|       org.opencontainers.image.source="https://git.stella-ops.org/stella-ops/feedser" \ | ||||
|       org.stellaops.release.channel="${CHANNEL}" | ||||
| EXPOSE 8080 | ||||
							
								
								
									
										52
									
								
								ops/devops/release/docker/Dockerfile.dotnet-service
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								ops/devops/release/docker/Dockerfile.dotnet-service
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| # syntax=docker/dockerfile:1.7-labs | ||||
|  | ||||
| ARG SDK_IMAGE=mcr.microsoft.com/dotnet/nightly/sdk:10.0 | ||||
| ARG RUNTIME_IMAGE=gcr.io/distroless/dotnet/aspnet:latest | ||||
|  | ||||
| ARG PROJECT | ||||
| ARG ENTRYPOINT_DLL | ||||
| ARG VERSION=0.0.0 | ||||
| ARG CHANNEL=dev | ||||
| ARG GIT_SHA=0000000 | ||||
| ARG SOURCE_DATE_EPOCH=0 | ||||
|  | ||||
| FROM ${SDK_IMAGE} AS build | ||||
| ARG PROJECT | ||||
| ARG GIT_SHA | ||||
| ARG SOURCE_DATE_EPOCH | ||||
| WORKDIR /src | ||||
| ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 \ | ||||
|     DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 \ | ||||
|     NUGET_XMLDOC_MODE=skip \ | ||||
|     SOURCE_DATE_EPOCH=${SOURCE_DATE_EPOCH} | ||||
| COPY . . | ||||
| RUN --mount=type=cache,target=/root/.nuget/packages \ | ||||
|     dotnet restore "${PROJECT}" | ||||
| RUN --mount=type=cache,target=/root/.nuget/packages \ | ||||
|     dotnet publish "${PROJECT}" \ | ||||
|       -c Release \ | ||||
|       -o /app/publish \ | ||||
|       /p:UseAppHost=false \ | ||||
|       /p:ContinuousIntegrationBuild=true \ | ||||
|       /p:SourceRevisionId=${GIT_SHA} \ | ||||
|       /p:Deterministic=true \ | ||||
|       /p:TreatWarningsAsErrors=true | ||||
|  | ||||
| FROM ${RUNTIME_IMAGE} AS runtime | ||||
| WORKDIR /app | ||||
| ARG ENTRYPOINT_DLL | ||||
| ARG VERSION | ||||
| ARG CHANNEL | ||||
| ARG GIT_SHA | ||||
| ENV DOTNET_EnableDiagnostics=0 \ | ||||
|     ASPNETCORE_URLS=http://0.0.0.0:8080 | ||||
| COPY --from=build /app/publish/ ./ | ||||
| RUN set -eu; \ | ||||
|     printf '#!/usr/bin/env sh\nset -e\nexec dotnet %s "$@"\n' "${ENTRYPOINT_DLL}" > /entrypoint.sh; \ | ||||
|     chmod +x /entrypoint.sh | ||||
| EXPOSE 8080 | ||||
| LABEL org.opencontainers.image.version="${VERSION}" \ | ||||
|       org.opencontainers.image.revision="${GIT_SHA}" \ | ||||
|       org.opencontainers.image.source="https://git.stella-ops.org/stella-ops/feedser" \ | ||||
|       org.stellaops.release.channel="${CHANNEL}" | ||||
| ENTRYPOINT ["/entrypoint.sh"] | ||||
							
								
								
									
										22
									
								
								ops/devops/release/docker/nginx-default.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								ops/devops/release/docker/nginx-default.conf
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| server { | ||||
|     listen       8080; | ||||
|     listen       [::]:8080; | ||||
|     server_name  _; | ||||
|  | ||||
|     root   /usr/share/nginx/html; | ||||
|     index  index.html; | ||||
|  | ||||
|     location / { | ||||
|         try_files $uri $uri/ /index.html; | ||||
|     } | ||||
|  | ||||
|     location ~* \.(?:js|css|svg|png|jpg|jpeg|gif|ico|woff2?)$ { | ||||
|         add_header Cache-Control "public, max-age=2592000"; | ||||
|     } | ||||
|  | ||||
|     location = /healthz { | ||||
|         access_log off; | ||||
|         add_header Content-Type text/plain; | ||||
|         return 200 'ok'; | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user