【.NET Core】docker Jenkins ASP.NET Core自动化部署
2024-10-11 00:05:16
本文基于GitHub演示自动化部署,实际上你可以选择任意的Git托管环境。
使用的模式:DooD(Docker-outside-of-Docker)。
本文所有内容均开源
链接
欢迎关注我的GitHub:
- neverc/netcore-jenkins(由于是半年前构建的,sdk版本为dotnet sdk:2.0)
- NeverCL/netcore-jenkins(上传docker hub上的源码)
- NeverCL/jenkins-demo(本例中的repo)
Jenkins安装
启动基于dotnet的jenkins:
docker run --name my-jenkins -P \
-e TZ='Asia/Shanghai' \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/jenkins_home:/var/jenkins_home \
-d neverc/netcore-jenkins
docker exec -it my-jenkins cat /var/jenkins_home/secrets/initialAdminPassword
// 查看jenkins的初始化密码,当然你可以去掉docker exec -it my-jenkins
安装的必选插件:Git
GitHub Integration
。
如果安装插件非常慢,可使用镜像:
上海大学镜像
GitHub
配置Person AccessToken
创建一个仓库
建议根目录添加1个setup.sh,用于jenkins构建
配置Jenkins
- 为了做到自动化部署,在Jenkins的系统设置中找到
GitHub Servers
模块,选择secret text添加AccessToken为认证方式 - 在创建的Jenkins任务中,配置触发器为
GitHub hook trigger for GITScm polling
- 构建选择执行 shell:
bash ./setup.sh
可参考的内容
Dockerfile
FROM microsoft/aspnetcore
WORKDIR /app
ENV ASPNETCORE_URLS http://*:5000
EXPOSE 5000
COPY ./publish /app
CMD ["dotnet", "jenkins-demo.dll"]
执行shell
echo 'start'
# variables
echo 'variables:'
GITHASH=`git rev-parse --short HEAD`
IMGNAME=netcore-demo
CONTAINER=netcore-demo-web
# publish
echo 'publish:'
rm -rf ./publish
dotnet publish -o ./publish
# image
echo 'image:'
docker build -t $IMGNAME:$GITHASH .
docker tag $IMGNAME:$GITHASH $IMGNAME:latest
docker rmi -f $(docker images -q -f dangling=true)
# container
echo 'container:'
docker stop $CONTAINER || true && docker rm -f $CONTAINER || true
docker run -d --name $CONTAINER $IMGNAME
echo 'done!'
最新文章
- Java 计算年份,月份,剩余天数
- zookeeper 安装及一些问题
- curl post
- el captain设置环境变量
- eclipse中文乱码问题解决方案
- ASP.NET MVC3 实例(六) 增加、修改和删除操作(二)
- cdh4.1.2 hadoop和oozie集成问题
- mongodb 更新数组出现can't append to array using string field name
- vi命令笔记
- Android推断程序前后台状态
- secache 详解
- “玲珑杯”ACM比赛 Round #12题解&;源码
- Microsoft dynamic 批量更新
- [Python]django使用多进程连接msyql错误
- luogu P5303 [GXOI/GZOI2019]逼死强迫症
- element-ui 源码解析 一
- WCF双工通信单工通信
- javaBean的相关知识和应用
- ubuntu 安装国际qq
- Javassist 字节码 语法 MD