Net Core 微服务 - 基于Windows 10 的Docker+Jenkins实现自动化部署.Net Core Web Api 项目
我们通过如下步骤演示基于Windows 10 的Docker+Jenkins实现自动化部署.Net Core Web Api 项目。
一、在Docker容器里部署运行Jenkins应用程序
1. Win10启动docker,拉取jenkins镜像:
先搜索jenkins镜像:docker search jenkins
选择STARS比较高的镜像,这里我们选择jenkins/jenkins镜像。
拉取jenkins镜像:docker pull jenkins
2. 启动jenkins容器
命令: docker run -d --name jenkins -p 8090:8080 -v E:\Docker_Volume\V_Jenkins:/var/jenkins_home -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock --privileged=true -u root jenkins/jenkins
该命令参数-v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock --privileged=true -u root,主要是为了将宿主机的docker命令挂载到jenkins运行的docker容器中,因为以后jenkins运行shell脚本进行项目的镜像构建和镜像运行,需要用到docker命令。
首先需要在宿主机上新建文件夹E:\Docker_Volume\V_Jenkins,用来挂载/var/jenkins_home目录。
访问jenkins地址:http://localhost:8090/,看到如下登录界面。
这个密码的位置:E:\Docker_Volume\V_Jenkins\secrets\initialAdminPassword,输入密码,点击继续。
3. 安装推荐插件
安装过程如下,比较慢,耐心等待:
4. 创建新的用户
设置完用户密码后就进入如下页面了,表明jenkins已经安装完成。
二、配置Jenkins为.Net Core 应用进行构建并运行与docker中
1. Jenkins全局工具配置
点击上图中的“Global Tool Configuration” 进入Global Tool Configuration 页面。
配置git路径
通过命令docker exec -it f15ba441ddc8 bash进入容器内。注意f15ba441ddc8是容器的ID,可以通过docker ps查看。
在容器内继续输入which git 查看git的路径
在下图所示位置输入上面查出的git路径
最后,点击apply,应用全局配置。
2. 配置Git仓库拉取代码构建
a. 回到Jenkins主界面选择左侧New Item,输入名字并选择构建一个Freestyle项目
b. 配置git地址和用户名&密码
同时选择要构建的项目分支。
c. 配置Build打包命令
流程解析:项目构建完成后是docker 镜像,此shell命令的作用是将此项目原来的docker容器停止并删除,然后将此项目的镜像也删除,之后将根据Dockerfile构建新的镜像并运行。
下面是我的shell脚本。
cd /var/jenkins_home/workspace/freestyledemo/WebApi/
docker stop mytestjenkins
docker rm mytestjenkins
docker build -t mytestbuild .
docker run -d -p 8082:80 --name mytestjenkins mytestbuild
配置完成后,点击“Apply”。
3. 构建并测试
回到Jenkins主界面并点击新添加的项目的构建按钮,然后进入构建过程,至此整个流程就完成了。
如下图所示,进入构建过程,耐心等待。
通过浏览器访问http://localhost:8082/weather。看到如下界面就表示项目已经成功运行在docker容器里了。