jenkins部署net core初探
一步一步,小心翼翼吖。看了好几个博客,摸索了两天了,才搭建成功,不容易,先写篇文章记下来,hhhhhhhhhhhh
相关环境配置
服务器:centos7
源代码管理器:git
技术选型:net core 2.1
在centos上如何安装jenkins已经在上一篇博文中讲解了,这里就继续说如何在jenkins界面化工具上进行构建net core了。
1.新建一个自由风格的软件项目

2.源码管理里选git,然后填上git里的项目地址,注意要是https地址哦!

案例中的项目地址我直接发出来:https://github.com/lovemoqing/Test_Jenkins.git ,如果有和我一样的萌新需要学习可以直接使用我这个
3.构建触发器

我选的是定时构建,15分钟一次,右边的问号点开以后会有更多描述,可以帮助理解。我的命令就是从描述里找的。
4.构建环境

每次构建前删除工作区,构建的超时时间设置为10分钟。
5.构建命令

我这里选择的是执行shell,填写的命令如下:
dotnet restore
dotnet build
dotnet publish
以上是jenkins的构建部分,填好shell命令以后点保存即可。
别慌,这个时候点立即构建不一定会成功!下面说一下为什么,这也是笔主踩了坑,所以要记下来的原因!
1.服务器上要安装有git,不然在填写源码管理里的URL的时候会提示错误。
2.服务器上要有net core的运行环境,所以之前没有安装过.NET SDK的话,一定要Install一下~ 不然构建是不成功的,笔主就是忘了安装这个,在构建的时候看到控制台的错误输出才想起这个没有安装。(当然也和笔主经常换云服务器的系统盘有关,经常遇到各种不好解决的问题就初始化磁盘,然后推倒重来,(*/ω\*) 所以很多环境之前安装过后来又没有了。这里补一下.NET SDK的安装说明:https://www.microsoft.com/net/learn/dotnet/hello-world-tutorial )
然后还有坑啊,没完~ 上面按照流程操作以后构建是可以成功的!但是由于笔主的服务器环境啥也有没有,访问ip的时候并没有看到项目,加上80端口也不行,原来是项目没有启动导致的,于是看了一下控制台的日志:

可以看到最后一行的Success表示构建是成功的,并且路径已经给出来了,我们在服务器端cd一下路径,然后执行命令 dotnet Test_Jenkins.dll,项目就运行起来了,执行命令的时候出现下图表示启动成功:

然后笔主接着就是访问了,嗯? 网站打不开!哦,想起来了端口5000还没映射到80上, 于是想起来需要Nginx代理一下,由于之前玩过,所以轻车熟路,安装一下Nginx,进行配置即可,这里不详细说明,具体如何配置可以参考文章底部给出的参考资料。
Nginx安装配置好了重启以后就生效了,输入服务器ip,直接就能访问,由于是将端口5000映射到了80,所以访问的时候直接ip就能访问。
目前就讲完了,后面如果想不关闭命令窗口项目依然能访问的话,就需要配置守护者进程,这个在参考资料里有详细说明,就不再赘述。
下面是部署成功后的画面,美如画吖~

参考资料
https://www.jianshu.com/p/1d4f7942dd42 dotnet core 搭建持续集成环境
https://www.cnblogs.com/esofar/p/8043792.html CentOS 7 部署 ASP.NET Core 应用程序
https://www.cnblogs.com/chuancheng/p/8933057.html Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自动化发布和部署
https://www.microsoft.com/net/learn/dotnet/hello-world-tutorial Install the .NET SDK
以上前三篇博文是经过长期阅读、实践得出来的几篇优秀的博文, 对.net core感兴趣的萌新可以阅读一下,都是实战教程性质的文章,干货满满!
本次的讲解就到这里了,上述构建项目的过程还有很多不完善的地方, 欢迎大家指出以及交流。
jenkins部署net core初探的更多相关文章
- Jenkins部署net core小记
作为一个不熟悉linux命令的neter,在centos下玩Jenkins真的是一种折磨啊,但是痛并快乐着,最后还是把demo部署成功!写这篇文章是为了记录一下这次部署的流程,和心得体会. 网上很多资 ...
- 使用Jenkins部署.Net Core遇到的几个坑
搞过CI/CD的同学一定吃过不少苦头,或者说遇到不少坑,但是对自动化的执着住挡不了前进的步伐,如果你缺少了运维这一块知识,那么你的流水线总是不那么完美,本文记录的是自己躺过的坑,希望对你有所帮助. 一 ...
- .Net Core 自动化部署:使用jenkins部署到linux docker容器运行
上次我们说到.Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用,这次我们使用jenkins发布我们的.NET Core站点到docker容器中运行,为后面的的 ...
- .Net Core 自动化部署:使用docker版jenkins部署dotnetcore应用
安装docker版jenkins 因为jenkins的docker版本本身没有 dotnetcore的环境,所以我们需要先自己动手制作下包含dotnet环境的jenkins Docker Contai ...
- Jenkins 流水线远程部署 .NET Core/Framework 到 IIS
目录 Windows 安装 Git WebDeploy Windows 从节点 .NET Core 处理 IIS 处理项目 Jenkinsfile .NET Framework 安装环境 .NET F ...
- 【k8s实战一】Jenkins 部署应用到 Kubernetes
[k8s实战一]Jenkins 部署应用到 Kubernetes 01 本文主旨 目标是演示整个Jenkins从源码构建镜像到部署镜像到Kubernetes集群过程. 为了简化流程与容易重现文中效果, ...
- Jenkins部署配置简介
前段时间研究了一下自动化测试,因而接触到了Jenkins,今天有时间进行一下Jenkins部署配置相关知识的总结分享 前言:由于本次只是实验性研究,采用Windows环境,因此Jenkins可以通过下 ...
- IIS上部署Net.Core
部署: 1.安装vc_redist.x64vc_redist.x64 2.安装DotNetCore.1.0.0.RC2-WindowsHosting 3.安装DotNetCore.1.0.0-SDK. ...
- win2008server R2 x64 部署.net core到IIS上出现【Failed to load the dll from [C:\Program Files\dotnet\host\fxr\1.0.1\hostfxr.dll], HRESULT: 0x80070057】错误
win2008server R2 x64 部署.net core到IIS上出现[Failed to load the dll from [C:\Program Files\dotnet\host\fx ...
随机推荐
- ZXing 生成、读取二维码(带logo)
前言 ZXing,一个支持在图像中解码和生成条形码(如二维码.PDF 417.EAN.UPC.Aztec.Data Matrix.Codabar)的库.ZXing(“zebra crossing”)是 ...
- [Go] 并发和并行的区别
并发和并行的区别:1.并行是让不同的代码片段同时在不同的物理机器上运行,并行的关键是在不同的物理机器上同时运行 2.并发是同时管理很多事情,比如在一个物理机器上进行不停的调度,有些事情可能只做了一半就 ...
- C# 操作Word 中的OLE——插入、编辑、读取 OLE
概述 OLE,Object Linking and Embedding,即对象连接与嵌入.我们在设计程序时,OLE可以用来创建复合文档,把文字.声音.图像.表格.应用程序等类型的信息组合在一起,在Wo ...
- java_List集合及其实现类
第一章:List集合_List接口介绍 1).特点 1).有序的: 2).可以存储重复元素: 3).可以通过索引访问: List<String> list = new Arra ...
- html的标签分类————可以上传的数据篇
html的标签可以分为: 块级标签:div(白板),H系列(加大加粗,H1—H7,字体一般逐渐变小,一般用作标题),p标签(段落之间有间距) 行内标签:span(白板) 此外,标签之间是可以嵌套的.为 ...
- Xamarin 学习笔记 - Page(页面)
本文翻译自CodeProject文章:https://www.codeproject.com/Articles/1226447/Xamarin-Notes-Xamarin-Forms-Pages 转载 ...
- java基础中this,super
this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类. this的用法就不累赘的说 ...
- MTK Android O1平台预置apk
在MTK Android O1平台预置apk为可卸载时.预置到旧的路径system/vendor/operator/app会编译报错,"You cannot install files to ...
- js调用浏览器打印指定div内容
--打印按钮事件 function printForm(){ var headstr = '<html xmlns:th="http://www.thymeleaf.org&qu ...
- c/c++ 继承与多态 容器与继承1
问题:类B公有继承类A,类A有虚函数fun,类B覆盖了虚函数fun,有一个std::vector<A>,添加A的对象a,和B的对象b,到这个容器里,然后从vector里取出来,使用对象a. ...