专栏首页嘿dotNetAsp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(二):部署

Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(二):部署

我之前写过:

Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署

Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署

大家可能会有疑问,分布式环境当中的部署还是跟我们在windows一样,一台机一台机的去部署、更新程序吗?

其实,拥抱Linux 我们还有更多选择,比如:自动化部署;

运行环境

centos:7.2 cpu:1核 2G内存 1M带宽

前面说过了,不过还是写运行环境还是再写一下

安装docker

安装其实很简单,就不重复说了,请查看纯洁大神这篇文章

安装jenkins

安装我单独记录了一篇,Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(一):Jenkins安装

安装docker-conpose

因为jenkins需要用到本地的docker-compose环境,所以,安装完以上步骤的jenkins后,使用

docker exec -it jenkins /bin/bash

进入容器内部安装docker-compose

创建 asp.net core web 应用程序

此web应用程序就是你需要部署的项目,我这里创建一个演示项目 WebApplication2;

这里先取消掉https,勾上启用docker支持; 接着把docker-compose.override.yml文件里面ports:下面的"ports:"的 - "80" 改成- "5006:80"

项目结构:

创建成功后,运行一下,能正常运行后,将项目上传到git服务器(github,gitlab,gogs等),我上传到了自己的gogs:

配置jenkins

1、创建一个jenkins项目

新建项目

构建一个自由风格的软件项目

2、源代码管理

这里可以指定git分支

3、构建触发器

这里的是设置轮询去git拉取代码,如果代码有更新就触发构建操作,H/2 * * * * 是指每2分钟轮询拉取一次;

4、构建环境

Abort the build if it's stuck 是指如果构建过程中卡住了,就终止构建;这里是10是10分钟,10分钟超时构建失败;

5、添加构建脚本Execute Shell

填写构建脚本

GITHASH=`git rev-parse --short HEAD`
echo ========remove-orphans===========
docker-compose -f ./docker-compose.yml -f ./docker-compose.override.yml  -p webapplication1 down --rmi local --remove-orphans
echo ========config===========
docker-compose -f ./docker-compose.yml -f ./docker-compose.override.yml -p webapplication1 config
echo ========publishing===========
docker-compose -f ./docker-compose.yml -f ./docker-compose.override.yml -p webapplication1 up -d --build
echo ---------------Clear-Images...------------------
clearImagesList=$(docker images -f "dangling=true" -q)
if [ ! -n "$clearImagesList" ]; then
  echo "No need to clean up images."
else
  docker rmi $(docker images -f "dangling=true" -q)
  echo "clear success."
fi
echo ---------------Clear-Containers...------------------

点击保存回到jenkinstest2项目界面,点击“立即构建”

构建控制台输出

perfect!构建成功,现在打开 http://你的服务器ip:5006,可以看到,没错,这就是我们的网站:

如果网站有任何更改,提交代码哦,jenkins会自动拉取代码,并发布一个新的容器,我们就等着哈哈哈,刷新浏览器就行了;

[参考]

https://www.cnblogs.com/LongJiangXie/p/7517909.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(一):Jenkins安装

    2019/1/31更新,经过我一段时间的使用 建议大家的jenkins还是不要使用docker方式安装 建议大家的jenkins还是不要使用docker方式...

    乔达摩@嘿
  • Windows下搭建Eclipse+Android4.0开发环境

    原文地址:http://blog.csdn.net/yzhj2005/article/details/6980676/

    乔达摩@嘿
  • Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署

    创建web项目(我自己使用vs2017 ,如使用vscode的需要自己安装windows的SDK和使用dotnet命令)

    乔达摩@嘿
  • 【Docker】更新docker镜像源

    使用 docker 拉取 Docker Hub 上镜像时,可能会由于网络限制,导致下载失败。可以将 docker 的镜像源设置为国内的镜像, 目前支持的镜像源...

    程序小工
  • win10安装docker

    保存为docker-compose.yml文件,也可保存为其他文件名,启动时,默认调用docker-compose.yml

    用户2475223
  • docker 入门与安装

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括...

    付威
  • Docker入门笔记总结

    Docker 是一个容器化平台,允许您快速构建,测试和部署应用程序,作为便携式,自给自足的容器,几乎可以在任何地方运行。Docker 是容器技术的事实上的标准,...

    轩辕小子
  • Centos docker卸载

    问天丶天问
  • Docker从入门到掉坑(三):容器太多,操作好麻烦

    前边的两篇文章里面,我们讲解了基于docker来部署基础的SpringBoot容器,如果阅读本文之前没有相关基础的话,可以回看之前的教程。

    乔戈里
  • centos7 docker安装详解

    程序员同行者

扫码关注云+社区

领取腾讯云代金券