jenkins部署.net平台自动化构建的方法步骤
在引入自动化部署工具的时候,我们对比了jenkins和gitlab CI,jenkins有非常丰富的插件,配置起来方便。gitlab CI更倾向于脚本配置,当然jenkins也可以使用pipeline实现全脚本化配置(everything is code,哈哈)。我们这里主要讲述jenkins的自动化部署。
基本组合是jenkins+git+msbuild+python,实现从代码仓库拉取、编译、打包、部署、自动化测试。(.net core和framework4.6.1可以不依赖msbuild构建,将在下一篇文章中讲述)
一、安装环境
1.jenkins是java生态圈的产品,需要安装jdk
2..net项目依赖.net framework,安装需要的framework版本(如framework4.5.1)
3.安装构建工具msbuild
4.安装nuget
5.安装jenkins
二、配置jenkins
1.安装好jenkins后,进入“系统管理”->“插件管理”,安装git和msbuild这两款插件。
2.安装好插件后,新建一个项目,选择“构建一个自由风格的软件项目”,然后点确定。
3.源码管理选择git。
4.添加构建步骤,构建一个项目
5.项目需要nuget获取程序包的,可以使用批处理来实现,继续添加构建步骤:
6.nuget restore 命令获取项目需要程序包
Rebulid:构建
Configuratiom = Release:按release打包
DeployOnBuild = true/false:是否打包
PublishProfile=pub100:pub100是VS打包的配置文件
注意:这里的Msbuild Version选择了vs2017里的,jenkins插件库中的msbuild版本太低,编译经常出错,最简单的做法就是安装VS,然后在“系统管理”->“全局工具配置”中配置VS工具中的msbuild路径
7.构建触发器,jenkins提供定时构建及轮询机制。轮询是设置一段时间间隔,去代码仓库检测是否有更新,有更新触发构建。
8.保存,选择“立即构建”
9.构建成功
10.控制台日志
部署服务器和自动化测试都由python实现,感兴趣的可以看我另外一篇文章。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Jenkins之Log Parse使用方法详解
在初学使用Jenkins的同学们,应该都遇到过通过bash或者cmd命令执行输出的日志,没办法做到对error, warning等状态的分析和统计.在这里就给他介绍一款实现此功能的插件Log Parse.此插件安装相当容易,但配置规则文件时,我踩了一坑,记录共享于同学们. 规则文件绝对路径 当然,你的设置一定要重新加载,否则是无效的 规则文件相对路径: 在windows平台下,默认的根目录为C:\Windows\.SysWOW64\,所以需要把规则文件放到此目录下. 常用规则文件代码如下: ok
-
Jenkins简介与Docker部署Jenkins的方法
一.相关概念 1.1 Jenkins概念: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Jenkins可以用于一些测试和部署技术.Jenkins是一种软件允许持续集成. 1.2 Jenkins目的: 1.持续.自动地构建/测试软件项目. 2.监控软件开放流程,快速问题定位及处理,提示开放效率. 1.3 特性: 开源的java语言开发持续集成工具,支持CI,CD. 易于安装部署配置:可通过yum
-
.Net Core自动化部署之利用docker版jenkins部署dotnetcore应用的方法
前言 本文主要介绍了关于.Net Core自动化部署用docker版jenkins部署dotnetcore应用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的实现步骤吧. 安装docker版jenkins 因为jenkins的docker版本本身没有 dotnetcore的环境,所以我们需要先自己动手制作下包含dotnet环境的jenkins Docker Container Dockerfile FROM jenkins/jenkins # Switch to root t
-
centos 7系统下安装Jenkins的步骤详解
本文主要给大家介绍了关于在centos 7安装Jenkins的相关内容,分享出来供大家参考学习,话不多说,来一起看看详细的介绍: 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key sudo yum
-
Centos7+Docker+Jenkins+ASP.NET Core 2.0自动化发布与部署的实现
前言 Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnet core 2.0 的正式发布,升级项目的同时,顺便直接将Jenkins搬到Docker上.为什么要写这篇文章呢?因为找过相关的资料,大多数文章都是基于Ubuntu 安装.net core 又或者 GitLab 进行持续集成 自动部署等等等,并未有人尝试过Centos7.3 上部署 Jenkins 并且 构建 ASP.NET CORE 2
-
jenkins构建Docker 镜像实例详解
jenkins构建Docker 镜像实例详解 前言:jenkins有Docker镜像,而之前我们说过使用jenkins打包Docker镜像,那么可否用jenkins的Docker镜像打包Docker镜像呢? 环境: CentOS 7 Docker 1.10.3 1.本机安装docker环境,并配置TCP访问接口 # vi /usr/lib/systemd/system/docker.service 修改ExecStart为: ExecStart=/usr/bin/docker daem
-
ASP.NET Core+Docker+Jenkins实现持续集成的完整实例
前言 在前后端分离开发的项目当中为了避免重复构建发布,我们需要部署一个持续发布环境,而目前的开发环境服务器都是基于 CentOS 的,因此每次在本地发布之后还需要打包,上传,部署,十分繁琐.故这里采用了比较成熟的Jenkins 作为持续部署环境. 方法如下: 1.新建一个ASP.NET Core MVC应用程序: 需要勾选Docker支持 2.将其上传到git: 3.建立Jenkins任务 (1)选择"新建任务",输入任务名称,选择"自由风格项目",然后点击确定:
-
详解jenkins自动部署springboot应用的方法
最近公司在利用jenkins自动部署springboot应用,以前别人配的那个jenkins虽说可以正常部署,但是多次反复部署之后jenkins会报错,提示内存不足: Maven JVM terminated unexpectedly with exit code 137 原因是因为jenkins没有配置部署新的应用前先把旧的应用进程先kill掉而导致在服务器上有多个应用进程.因此自己决定摸索如何配置jenkins可以每次部署都把旧进程kill掉再启动新进程. 安装Jenkins 安装命令: s
-
详解使用Jenkins部署Spring Boot项目
jenkins是devops神器,本篇文章介绍如何安装和使用jenkins部署Spring Boot项目 jenkins搭建 部署分为三个步骤: 第一步,jenkins安装 第二步,插件安装和配置 第三步,Push SSH 第四步,部署项目 第一步 ,jenkins安装 准备环境: JDK:1.8 Jenkins:2.83 Centos:7.3 maven 3.5' jdk默认已经安装完成 配置maven 版本要求maven3.5.0 软件下载 wget http://mirror.bit.ed
-
Docker容器使用jenkins部署web项目(总结)
(1)需要安装Docker容器,在Docker容器内安装jenkins,gogs,tomcat. 新建maven项目,添加findbugs plugin. 使用docker启动jenkins,gogs,Tomcat的命令gogs : 复制代码 代码如下: docker run -itd -p 10022:22 -p 10080:3000 --restart=always --privileged=true --name=gogs -v /var/gogs:/data gogs/gogs je
-
详解Docker下搭建Jenkins构建环境
首先需要搭建好docker环境的linux系统,这个教程多如牛毛,在此不再赘述. 然后编写一个dockerfile来生成一个镜像,dockerfile其实就是一系列命令的集合,有点像windows的批处理文件, 搭建Jenkins构建环境需要安装jdk.maven.tomcat.jenkins,另外还安装了GIT,用来构建GIT来源的代码,内容如下: FROM centos:7 # author info MAINTAINER xulijian 514045152@qq.com # instal
随机推荐
- Node.js(安装,启动,测试)
- 基于AngularJS的拖拽文件上传的实例代码
- 华为各种型号交换机端口镜像配置方法总结
- python中List的sort方法指南
- 解析C++编程中异常相关的堆栈展开和throw()异常规范
- Android项目开发之UI设计器
- input为disabled提交后得不到该值的解决方法
- vue.js利用Object.defineProperty实现双向绑定
- easyui中combotree循环获取父节点至根节点并输出路径实现方法
- asp实现生成由数字,大写字母,小写字母指定位数的随机数
- iPhone手机上搭建nodejs服务器步骤方法
- 值得分享的最全面Bootstrap快速人门案例
- jQuery使用$.ajax进行即时验证的方法
- jquery教程限制文本框只能输入数字和小数点示例分享
- Java中四种访问权限资料整理
- C#动态对象(dynamic)详解(实现方法和属性的动态)
- Android仿QQ列表左滑删除操作
- 治疗口腔溃疡
- Python3实现的简单三级菜单功能示例
- Python获取网段内ping通IP的方法