jenkins构建配置(NetCore)

分类: NetCore

Dockerfile 配置

 

#使用MYSQL请使用以下命令 
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-bionic 
 
#设置时区 
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
RUN echo 'Asia/Shanghai' >/etc/timezone 
 
#设置环境变量,http请求在linux下面有可能出现https访问被拒绝问题 
ENV DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER 0 
 
WORKDIR api 
#项目设置里面将所有需要输出的xml文件输出到同一个doc目录下面 
ADD ./bin/Release/netcoreapp3.1/publish/ /api/ 
 
ENTRYPOINT ["dotnet","/api/xxx.api.dll","--environment","test"] 

 

jenkins配置

 

#转到jenkins提取到源码之后的文件夹目录下面 
cd /usr/lib/jenkins/jenkins_home/workspace/dotnet-xxx-api-test 
 
#文件权限操作 
chmod 755 xxx.api.sln 
 
#配置环境变量解决nuget还原过程中ssl握手不信任问题 
export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 
 
#关于清理nuget包缓存的问题,如果是nuget.org的包,我们不需要,因为严格更新版本。 
#如果是公司内部的nuget包,发布包我们是可以覆盖当前版本的,那么需要清理。 
 
#清理nuget缓存,如果需要的话,清理本机的nuget包缓存的话 
dotnet nuget locals all -c 
 
#强制清除指定的nuget包,如果需要的话 
rm -rf /home/jenkins/.nuget/packages/xxx.netcore.* 
 
#还原依赖 nuget.config文件内含有nuget.org和公司内部的包地址 
dotnet restore --configfile nuget.config 
 
#清除上一次输出问题以及obj文件夹 
dotnet clean -c Release 
 
#编译处理 
dotnet build -c Release 
 
#发布处理,使用发布路径下面的项目地址进行打包处理 
dotnet publish -c Release 
 
#基于docker镜像文件的别名处理 
image_version='xxx-test-latest'; 
 
#转到项目文件下面的docker文件目录 
cd /usr/lib/jenkins/jenkins_home/workspace/dotnet-xxx-api-test/xxx.api 
 
#输出当前目录 
pwd 
 
# build镜像并且打上tag 
docker build -t xxx-api-test:$image_version .; 
 
#登录阿里云私有镜像仓库 
#docker login --username=*** registry.cn-shenzhen.aliyuncs.com 
 
#打阿里云Tag 
docker tag xxx-api-test:$image_version registry-vpc.cn-shenzhen.aliyuncs.com/xxx/xxx-api-test:$image_version 
 
#推送到阿里云镜像 
docker push registry-vpc.cn-shenzhen.aliyuncs.com/xxx/xxx-api-test:$image_version 
 
#删除本地docker镜像 
docker rmi -f xxx-api-test:$image_version 
docker rmi -f registry-vpc.cn-shenzhen.aliyuncs.com/xxx/xxx-api-test:$image_version 
 
#触发镜像 
/usr/bin/curl *** 
标签: k8s Docker NetCore

上一篇: .NET CORE Common 扩展库

下一篇: netcore linux环境部署和守护进程

by 2023-08-07 23:49:09
篇笔记

学习笔记