jenkins 新建 TMAPP 项目
cd /var/lib/jenkins/workspace/TMAPP/src/TMApp
image_version=`date +%Y%m%d%H%M`;
echo $image_version;
# 中止以前的docker container
CID=$(docker ps -aq --filter name=coretmapp)
echo $CID
if [ "$CID" != "" ];then
docker stop $CID
docker rm $CID
fi
# build镜像而且打上tag
docker build -f ./Acadsoc.TMApp.Api/Dockerfile -t coretmapp:$image_version --no-cache .
# 把刚刚build出来的镜像跑起来
docker run -p 10001:80 --name coretmapp -d coretmapp:$image_version;
#docker logs coretmapp;
.net core 项目 dockerfile vs可以自动生成dockerfile文件
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["Acadsoc.TMApp.Api/Acadsoc.TMApp.Api.csproj", "Acadsoc.TMApp.Api/"]
COPY ["Acadsoc.TMApp.Service/Acadsoc.TMApp.Service.csproj", "Acadsoc.TMApp.Service/"]
COPY ["QCloud.IMSDK/QCloud.IMSDK.csproj", "QCloud.IMSDK/"]
COPY ["Acadsoc.TMApp.ServiceModel/Acadsoc.TMApp.ServiceModel.csproj", "Acadsoc.TMApp.ServiceModel/"]
COPY ["Acadsoc.TMApp.ApiProxy/Acadsoc.TMApp.ApiProxy.csproj", "Acadsoc.TMApp.ApiProxy/"]
COPY ["Acadsoc.TMApp.ViewModel/Acadsoc.TMApp.ViewModel.csproj", "Acadsoc.TMApp.ViewModel/"]
COPY ["Acadsoc.TMApp.Agregate/Acadsoc.TMApp.Aggregate.csproj", "Acadsoc.TMApp.Agregate/"]
COPY ["NuGet.config", "./"]
RUN dotnet restore "Acadsoc.TMApp.Api/Acadsoc.TMApp.Api.csproj"
COPY . .
WORKDIR "/src/Acadsoc.TMApp.Api"
RUN dotnet build "Acadsoc.TMApp.Api.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Acadsoc.TMApp.Api.csproj" -c Release -o /app/publish
FROM base AS final
ENV TZ Asia/Shanghai
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Acadsoc.TMApp.Api.dll"]