思路:
使用jenkins 拉去gitlab 代码,通过dockerfile 和docker-compose.yml 完成镜像到构建和编排运行。
- 操作jenkins
配置shh 全局变量:
记住一定要密码。
- 在构建里面exec command
-
这里是使用docker-compose 把应用运行起来。cd /usr/local/docker/jenkins_docker/data/workspace/mytest docker-compose down docker-compose up -d --build docker system prune -f
- 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 选择标签生成即可。