持续集成实践四.net Core 自动化部署docker

代码获取和触发器配置和之前的一样

构建操作

首先仍然时通过批处理先还原nuget包  或者  dotnet  restore

 

拷贝部署文件到版本目录

 

 

 

在该目录先新建一个dockerfile文件  文件内容如下

# 基于microsoft/dotnet:latest构建Docker Image
FROM microsoft/dotnet:latest

# 进入docker中的/usr/local/src目录
RUN cd /usr/local/src

# 创建DockerWebAPI目录
RUN mkdir pollapi

# 设置工作路径
WORKDIR /usr/local/src/***名称***

# 将当前文件夹下的所有文件全部复制到工作目录
COPY . ./

 

# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone


# 向外界暴露6303端口
EXPOSE 6303

# 设置环境变量

ENV  KEY  VALUE


# 执行dotnet DockerWebAPI.dll命令
CMD ["dotnet", "***执行的dll***.dll"]

然后执行部署到docker 的命令  

cd d:/test
d:
docker build -t daxnet/docker-webapi .       通过当前目录下的dockerFile构建一个名为daxnet/docker-webapi 的镜像   "."表示当前目录
docker stop pollapi                                        
docker rm pollapi
docker create --name=pollapi -p 6303:6303 daxnet/docker-webapi      基于镜像 创建一个 pollapi的容器
docker start pollapi                 启动容器
docker logs pollapi
exit 0

 

 执行 docker build -t daxnet/docker-webapi .   首次执行会下载镜像 要很久(大概500M吧)

 删除无用的镜像

Powershell.exe  docker rmi $(docker images -f "dangling=true" -q)

 

触发测试任务 把版本号传过去

 

posted @ 2019-02-12 17:02  二到不知处  阅读(802)  评论(0编辑  收藏  举报