ASP.NET Core+Docker+Jenkins实现持续集成的完整实例

 更新时间:2018年05月06日 14:59:35   作者:晓晨Master  
这篇文章主要给大家介绍了关于ASP.NET Core+Docker+Jenkins实现持续集成的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

在前后端分离开发的项目当中为了避免重复构建发布,我们需要部署一个持续发布环境,而目前的开发环境服务器都是基于 CentOS 的,因此每次在本地发布之后还需要打包,上传,部署,十分繁琐。故这里采用了比较成熟的Jenkins 作为持续部署环境。

方法如下:

1.新建一个ASP.NET Core MVC应用程序:

需要勾选Docker支持

2.将其上传到git:

3.建立Jenkins任务

(1)选择“新建任务”,输入任务名称,选择“自由风格项目”,然后点击确定:

(2)选择“源代码管理”,填入我们的git地址

输入H/2 * * * *设置两分钟拉取一次

(3)构建环境

勾上 Delete workspace before build start 是设置构建前删除工作区

勾上 Abort the build if it's stuck 是设定构建的超时时间,如果构建使用的时间超过设定的时间,那么就认为这次的构建是失败的。笔者这里超时设置的是10分钟

(4)增加一个Execute Shell 脚本,并填写以下脚本内容

#!/bin/bash
# 获取短版本号

GITHASH=`git rev-parse --short HEAD`
echo ---------------Remove-Orphans------------------
docker-compose -f ./docker-compose.yml -f ./docker-compose.override.yml -p webapplication6 down --rmi local --remove-orphans
echo ------------------Config-----------------------
docker-compose -f ./docker-compose.ci.build.yml -p webapplication6 config
echo ------------------Build------------------------
docker-compose -f ./docker-compose.ci.build.yml -p webapplication6 up --build
echo ---------------Publishing...------------------
docker-compose -f "./docker-compose.yml" -f "./docker-compose.override.yml" -p webapplication6 up -d --build

echo ---------------Clear-Images...------------------
docker rmi $(docker images -f "dangling=true" -q)
echo ---------------Clear-Containers...------------------
docker rm webapplication6_ci-build_1

2018.4.24 加入镜像和容器清理命令,所以上面的脚本和下图不一样,以上面的shell脚本为准

应用保存,回到项目界面上。点击立即构建进行部署工作

我们可以查看控制台输出:

待构建成功以后访问url(你的ip:端口)试试效果。

不知道端口的可以通过命令docker ps查看

参考资料:

https://www.jb51.net/article/139553.htm

https://www.jb51.net/article/139555.htm

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • 详解ASP.NET Core 中间件之压缩、缓存

    详解ASP.NET Core 中间件之压缩、缓存

    本篇文章主要介绍了ASP.NET Core 中间件之压缩、缓存,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • .net core 静态类获取appsettings的方法

    .net core 静态类获取appsettings的方法

    这篇文章主要介绍了.net core 静态类获取appsettings的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • .Net 如何限制用户登录的方法

    .Net 如何限制用户登录的方法

    这篇文章主要介绍了.Net 如何限制用户登录的方法,有需要的朋友可以参考一下
    2013-12-12
  • .Net Core + Nginx实现项目负载均衡的全步骤

    .Net Core + Nginx实现项目负载均衡的全步骤

    这篇文章主要给大家介绍了关于.Net Core + Nginx实现项目负载均衡的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • .NET C#使用微信公众号登录网站

    .NET C#使用微信公众号登录网站

    这篇文章主要介绍了.NET C#使用微信公众号登录网站,教大家利用微信公众号进行网站登录,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 一文掌握.Net core中的缓存

    一文掌握.Net core中的缓存

    Cache(缓存)是优化web应用的常用方法,缓存存放在服务端的内存中,被所有用户共享,本文主要给大家介绍.netcore中的缓存知识,需要的朋友可以参考下
    2022-06-06
  • VS2017做为Unity3D的脚本编辑器需要的最精简组件

    VS2017做为Unity3D的脚本编辑器需要的最精简组件

    这篇文章主要为大家详细介绍了VS2017做为Unity3D的脚本编辑器需要的最精简组件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • ASP.NET 4中的可扩展输出缓存(可以缓存页面/控件等)

    ASP.NET 4中的可扩展输出缓存(可以缓存页面/控件等)

    ASP.NET 1.0引入输出缓存的概念,这使得开发者可以缓存页面、控件、控制器以及HTTP响应的输出到内存中,接下来详细介绍,感兴趣的朋友可以了解下
    2013-01-01
  • asp.net中Table生成Excel表格的方法

    asp.net中Table生成Excel表格的方法

    这篇文章主要介绍了asp.net中Table生成Excel表格的方法,可实现将html的table表格生成excel的功能,需要的朋友可以参考下
    2015-01-01
  • Visual Studio 2017使用淘宝镜像的方法

    Visual Studio 2017使用淘宝镜像的方法

    这篇文章主要介绍了Visual Studio 2017使用淘宝镜像的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论