【.NET Core】docker Jenkins ASP.NET Core自动化部署
本文基于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!'
【.NET Core】docker Jenkins ASP.NET Core自动化部署的更多相关文章
- Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署
写在前面 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级 ...
- docker jenkins 前端node项目 自动化部署异常 env: ‘node’: No such file or directory
出现问题是docker jenkins 里面没有自动安装node导致找不到这个Node命令 解决方案:手动安装nodejs # 进入jenkins对应容器中 # docker exec -it [对应 ...
- ASP.NET Core & Docker & Jenkins 零基础持续集成实战
原文:ASP.NET Core & Docker & Jenkins 零基础持续集成实战 一.本系列教程说明 源代码管理工具:Gogs 持续集成工具:Jenkins 容器:Docker ...
- Visual Studio Code和Docker开发asp.net core和mysql应用
Visual Studio Code和Docker开发asp.net core和mysql应用 .net猿遇到了小鲸鱼,觉得越来越兴奋.本来.net猿只是在透过家里那田子窗看外面的世界,但是看着海峡对 ...
- VS code docker 调试 asp.net core
前言 .net core的诞生就是为了解决跨平台的事情的,所以.net core app运行在linux.macOS.docker上也不是什么新鲜事了. 相信已经有不少.net core的项目已经部署 ...
- Docker和ASP.NET Core
Docker和ASP.NET Core Docker 正在逐渐成为容器行业的事实标准,受到 Windows 和 Linux 生态系统领域最重要供应商的支持. (Microsoft 是支持 Docker ...
- Docker的asp.net core应用部署系列——docker pull 加速
原文:Docker的asp.net core应用部署系列--docker pull 加速 版权声明:本文为博主原创文章,随意转载. https://blog.csdn.net/Michel4Liu/a ...
- Orchard Core Framework:ASP.NET Core 模块化,多租户框架
Orchard Core Framework:ASP.NET Core 模块化,多租户框架 上一篇编写Orchard Core一分钟搭建ASP.NET Core CMS ,介绍ASP.NET Core ...
- ASP.NET Core 新增用户 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 新增用户 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 新增用户 上一章节我们实现了一个注册表单,但也留了一些东西还没完成, ...
随机推荐
- OpenShift实战(三):OpenShift持久化存储Redis
1.模板定义 修改OpenShift自带模板 [root@master1 pv]# oc edit template redis-persistent 添加如下: 2.创建PV 编辑redis pv ...
- solr云的简单搭建(了解)
1.认识系统架构 1.1.集群概述 1.1.1.单点服务器的问题 我们之所以要学习集群,是因为单点服务器,存在一系列的问题. 我们以前学习的JavaEE项目,都是部署在一台Tomcat上,所有的请求, ...
- kubernetes入门(09)kubernetes1.7集群安装(2017/11/13)
CentOS7.3利用kubeadm安装kubernetes1.7.3完整版(官方文档填坑篇) https://www.cnblogs.com/liangDream/p/7358847.html 一. ...
- api-gateway实践(09)支持rest服务注册
一.GET-GET 1.前端定义 2.后端定义 2.1.基础定义 2.2.path参数.head参数.query参数 2.3.常量参数 2.4.系统参数 2.5.结果定义 二.POST-POST 1. ...
- FatMouse's Speed ~(基础DP)打印路径的上升子序列
FatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take ...
- C# 读取网页JSON数据
场景描述: 公司和别的系统需要对接,现在对方提供一个网址,数据都是json字符串,我需要对json数据进行处理. 提供的json数据如下格式 一.读取网址中的json数据 public string ...
- Archaius 原理
Archaius 原理 Archaius是什么? Archaius提供了动态修改配置的值的功能,在修改配置后,不需要重启应用服务.其核心思想就是轮询配置源,每一次迭代,检测配置是否更改,有更改重新更新 ...
- Django REST framework+Vue 打造生鲜超市(四)
五.商品列表页 5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分django和django res ...
- Spring整合MyBaytis
1.准备jar包 A.第一种方式:配置SqlSessionFactoryBean+配置SqlSessionTemplate a.项目结构 b.applicationContext.xml 带详细注释 ...
- 用UIWebView加载本地图片和gif图
加载gif图: NSData *gif = [NSData dataWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@" ...