Docker一直很火热,一直想把原本的Jenkins自动部署工具搬到Docker上面,无奈今年一直忙于各种事情,迟迟未实施这个事情,正好迎来了dotnetcore2.0的正式发布,升级项目的同时,顺便直接将Jenkins搬到Docker上。为什么要写这篇文章呢?因为找过相关的资料,大多数文章都是基于Ubuntu安装.netcore又或者GitLab进行持续集成自动部署等等等,并未有人尝试过Centos7.3上部署Jenkins并且构建ASP.NETCORE2.0的应用。当然笔者表示并不知道为什么ubuntu有这么多人青睐。接下来,笔者将从本篇博文中,粗略的教大家怎么安装Docker和Jenkins并且使用VisualStudio新建Demo并实现自动部署
环境准备硬件配置:1核1G1M带宽。50G硬盘。
系统环境:CentOS7.3(64位)
其实用的就是腾讯云
安装Docker其实安装Docker的过程,大家可以到Docker 第一行:构建一个名称为jenkins的容器-p是容器运行开放端口
第二行和第三行:-v是将宿主机的docker文件挂载进容器里
第四行:建立宿主机的配置目录,挂载进docker容器里,这样容器里的Jenkins配置目录文件就会映射出来
第五行:使用auto-jenkinsImage并且后台启动
这个时候runJenkins会提示成功
执行dockerps命令后,发现什么都没有
执行dockerps-a命令看看
执行dockerstart-ajenkins让容器前台输出运行信息的方式运行
不难看出其实Jenkins启动已经是可以了,只是权限问题导致这个错误的信息。
现在需要看一下Jenkins官方的Dockerfile
知道问题原因,贴上代码了。
##修改/var/jenkins文件夹权限#chown-R/var/jenkins
继续执行运行Jenkins代码
#dockerrun--namejenkins-p:-p:\-v/var/run/docker.sock:/var/run/docker.sock\-v(whichdocker):/bin/docker\-v/var/jenkins_home:/var/jenkins_home\-dauto-jenkins
这时你会看到悲催的信息
容器之前已经运行过了,所以会有一个容器已经存在了。哥来给你搽眼泪。执行以下命令,删除原本run出来的容器
#dockerrm-fjenkins
删除完容器后,继续执行运行命令
#dockerrun--namejenkins-p:-p:\-v/var/run/docker.sock:/var/run/docker.sock\-v(whichdocker):/bin/docker\-v/var/jenkins_home:/var/jenkins_home\-dauto-jenkins
出现一串字符后,执行dockerps会发现容器已经启动了,正常了。这个时候是不是可以使用了?别着急,还有很长的路。
配置Jenkins打开浏览器输入地址yourIP:进行访问,你会开心的看到这个界面,看到这个界面代表你的Jenkins已经安装成功了,但是需要进行配置,现在就教大家怎么去配置
首先,进入容器内
#dockerexec-itjenkins/bin/bash
查看/var/jenkins_home/secrets/initialAdminPassword文件内的密码
#cat/var/jenkins_home/secrets/initialAdminPassword
其实不一定要进入容器内查看密码,可以直接在宿主机的环境下,查看/var/jenkins//secrets/initialAdminPassword的内容,因为之前笔者已经将这个目录挂载进Docker里面了
复制输出的内容,粘贴到Administratorpassword,输入exit退出容器,此时进行下一步你会看到此界面,点击Installsuggestedplugins
等待初始化完毕
到了这一步,自己随缘去填吧。
使用VS创建一个ASP.NETCore2.0Web应用程序,并将代码上传到git。这里笔者就不演示上传代码的过程步骤了。
为你们准备了一个地址,方便你们完成本教程: