思路:
使用jenkins 拉去gitlab 代码,通过dockerfile 和docker-compose.yml 完成镜像到构建和编排运行。
- 操作jenkins
配置shh 全局变量:
记住一定要密码。
- 在构建里面exec command
-
cd /usr/local/docker/jenkins_docker/data/workspace/mytest docker-compose down docker-compose up -d --build docker system prune -f
这里是使用docker-compose 把应用运行起来。 - Dokcerfile 如下:
FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base WORKDIR /app EXPOSE 80 FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build WORKDIR /src COPY ["NewNetcore5.csproj","./"] RUN dotnet restore "./NewNetcore5.csproj" COPY . . WORKDIR "/src/." RUN dotnet build "NewNetcore5.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "NewNetcore5.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "NewNetcore5.dll"]
Docker-compose 文件
version: '2'
services:
mytest:
container_name: mytest
build:
context: ./
dockerfile: Dockerfile
image: mytest:v2.0.0
environment:
- ASPNETCORE_ENVIRONMENT=Development
privileged: true
user: root
restart: always
ports:
- '5000:80'
ok。 上面已经配置完成。接下来。我们先给gitlab 打一个标签。
然后在jenkins 选择标签生成即可。



