我以前写过:html
Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署git
Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署github
你们可能会有疑问,分布式环境当中的部署仍是跟咱们在windows同样,一台机一台机的去部署、更新程序吗?web
其实,拥抱Linux 咱们还有更多选择,好比:自动化部署;docker
centos:7.2
cpu:1核 2G内存 1M带宽shell
前面说过了,不过仍是写运行环境仍是再写一下windows
安装其实很简单,就不重复说了,请查看纯洁大神这篇文章centos
安装我单独记录了一篇,Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(一):Jenkins安装浏览器
由于jenkins须要用到本地的docker-compose环境,因此,安装完以上步骤的jenkins后,使用bash
docker exec -it jenkins /bin/bash
进入容器内部安装docker-compose,安装步骤去
此web应用程序就是你须要部署的项目,我这里建立一个演示项目 WebApplication2;
这里先取消掉https,勾上启用docker支持;
接着把docker-compose.override.yml文件里面ports:下面的"ports:"的 - "80"
改为- "5006:80"
项目结构:
建立成功后,运行一下,能正常运行后,将项目上传到git服务器(github,gitlab,gogs等),我上传到了本身的gogs:
新建项目
构建一个自由风格的软件项目
这里能够指定git分支
这里的是设置轮询去git拉取代码,若是代码有更新就触发构建操做,
H/2 * * * *
是指每2分钟轮询拉取一次;
Abort the build if it's stuck 是指若是构建过程当中卡住了,就终止构建;这里是10是10分钟,10分钟超时构建失败;
填写构建脚本
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会自动拉取代码,并发布一个新的容器,咱们就等着哈哈哈,刷新浏览器就好了;