本文实现最简单最全的Jenkins+Docker+SpringBoot一键自动部署项目。步骤齐全,避坑。环境:CentOS7+Git(Gitee)实现步骤:在Docker上安装Jenkins,配置Jenkins基本信息,使用Dockerfile和Shell脚本自动拉取、打包和运行项目。1.安装Docker安装社区版DockerCE1。确保yum包更新到最新的yumupdate2。卸载旧版本(如果你已经安装了旧版本)yumremovedockerdocker-commondocker-selinuxdocker-engine3.安装所需的软件包yuminstall-yyum-utilsdevice-mapper-persistent-datalvm24。setyumsourceyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repo5.安装Dockeryuminstalldocker-ce#因为默认只启用稳定仓库在repo中,这里安装了最新的稳定版本17.12.06。启动并设置引导systemctlstartdocker7。验证是否安装成功docker版本2.安装JenkinsJenkins中文官网:https://www.jenkins.io/zh/1。安装JenkinsDocker安装一切就是这么简单。注意查看8080是否已经被占用,如果被占用,请修改端口。dockerrun--namejenkins-uroot--rm-d-p8080:8080-p50000:50000-v/var/jenkins_home:/var/jenkins_home-v/var/run/docker.sock:/var/run/docker.sockjenkinsci/blueocean端口号不变,安装完成后,访问地址:http://{Jenkins部署的IP}:8080这里会有几分钟的等待时间。2.初始化Jenkins详见官网教程:https://www.jenkins.io/zh/doc2.1解锁Jenkins#进入Jenkins容器2.2安装插件选择第一项:安装推荐插件-插件。2.3创建管理员用户这个账号信息一定要记住。三、系统配置1、安装所需插件进入【首页】-【系统管理】-【插件管理】-【可选插件】。搜索以下需要安装的插件,单击“安装”。安装MavenIntegrationInstallPublishOverSSH(如果不需要远程推送,不用安装)如果使用Gitee码云,安装插件Gitee(Git自带,不用安装)分别)2.配置Maven进入【首页】-【系统管理】-【全局配置】,拉到页面最下方maven-maven安装。四、创建任务1、创建新任务点击【新建任务】,输入任务名称,点击建立一个自由风格的软件项目。2.源码管理点击【源码管理】-【Git】,输入仓库地址,添加凭证,选择凭证。3.构建触发器点击【构建触发器】-【构建】-【添加构建步骤】-【调用顶级Maven目标】-【填写配置】-【保存】。这里的命令只是install,看看能不能生成jar包。cleaninstall-Dmaven.test.skip=true4.保存并点击【保存】按钮。5、测试功能测试是否能正常打包。1.构建点击构建按钮。2.查看日志,点击正在构建的任务,或者点击任务名称进入详情页面,查看控制台输出。看看能不能成功打包成jar包。这里的日志可能是第一次下载依赖jar包失败,再次点击build即可成功。3.查看项目位置cd/var/jenkins_home/workspace6.运行项目因为项目和Jenkins在同一台服务器上,所以我们使用Shell脚本来运行项目。原理是通过Dockerfile将镜像打包,然后用docker运行。1.Dockerfile在SpringBoot项目的根目录下新建一个名为Dockerfile的文件。请注意,没有后缀。其内容如下:(大致使用JDK8,将jar包添加到docker中,然后运行prd配置文件,具体请参考其他教程)FROMjdk:82.修改Jenkins任务配置配置如下:“-t”指定新镜像名称,“.”指示Dockfile在当前路径中。cd/var/jenkins_home/workspace/zx-order-api备注:1.上图使用了dockerlogs-f,方便查看日志。不要在真实环境中使用它,因为它会一直等待日志,构建任务会失败;2、添加"||true"表示如果命令执行失败,会继续执行,以防止第一次报错没有图像;3、保存:点击保存;4.构建:查看Jenkins控制台输出,输出如下,证明成功;5.验证dockerps#查看是否有自己的容器
