Asp.Net Core + Jenkins + Docker 自动构建
1、先新建一个Asp.Net Core项目

2、提交代码到Git仓库(推荐用Gitee 码云,因为私人仓库免费)
此处省略若干步:安装Git,安装TortoiseGit,注册码云账号,用putty生成私钥公钥,在码云配置....,用TortoiseGit提交代码...(TortoiseGit非必须,仅仅是因为习惯了鼠标操作...)
3、安装docker
#一键安装脚本
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
#配置阿里云镜像加速器
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://oljgwa1c.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
4、安装Jenkins
这里需要特别说明的是,因为我们要在docker中的jenkins中编译asp.net core的程序,所以需要在docker中加入.net sdk
先编辑Dockerfile
FROM jenkins/jenkins:lts-centos USER root #注册Microsoft密钥和源 RUN rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm #安装.Net Core SDK RUN yum install dotnet-sdk-3.1 -y RUN usermod -a -G root jenkins USER jenkins
运行容器
docker run \ -d --restart=always \ -p 8080:8080 \ --name jenkins \ --user root \ -v /mnt/jenkins_home:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/usr/bin/docker \ jenkins/jenkins:lts-alpine
#国内访问jenkins插件库真是太慢了,所以务必装Localization: Chinese (Simplified)

使用后设置更新中心地址为国内地址
#设置jenkins的时区
右上角-操作员-Configure-User Defined Time Zone
设置为Asia/Chongqing
#下载Gitee插件
#配置Gitee
![]()
具体配置方法参考:https://gitee.com/help/articles/4193#article-header0
5、新建自由风格的软件项目
源码管理选Git

特别注意的是。。。这里的凭据不是上面gitee配置的那个。。。要重新配一个账号密码的
配置抓取源码规则
6、编译发布

dotnet publish -c Release -o ${WORKSPACE}/published
7、生成docker镜像
先在工程中加入Dockerfile
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 as runtime WORKDIR /Web COPY ./published ./ EXPOSE 80 ENTRYPOINT ["dotnet", "test.dll","--urls=http://*:80"]
8、打包成docker文件
docker build -t registry.cn-hangzhou.aliyuncs.com/{youname}/{projectname} .
9、推送到docker仓库
10、服务器拉取镜像并部署


浙公网安备 33010602011771号