添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  1. Maven环境
  2. docker环境
  3. JDK环境(Centos7自带JDK环境)
一、docker拉取镜像

Jenkins有官方镜像,也有私人镜像,这里我们选择拉取中文版的Jenkins镜像。

docker pull jenkinszh/jenkins-zh
二、创建Jenkins挂载目录并授权权限

如果你对Docker比较熟悉,应该知道它的实现实际上是创造了一个独立的容器环境,Jenkins在这个容器内运行,那么如果我们想要对Jenkins进行配置,就需要进入到容器里选择文件进行配置。虽然我们可以使用docker exec -it 【容器id】 bash 命令进入容器目录进行配置,但是连简单的 vi命令都不能使用。

如果我们在启动镜像的时候指定挂载目录,那么在服务器本机与容器之间就可以创建一个映射。

所以我们在服务器上先创建一个jenkins工作目录, /var/jenkins_mount,赋予相应权限,稍后我们将jenkins容器目录挂载到这个目录上,这样我们就可以很方便地对容器内的配置文件进行修改。

mkdir -p /var/jenkins_mount
chmod 777 /var/jenkins_mount
三、创建并启动Jenkins容器

命令如下,别着急执行命令,记得改路径。

docker run -d -p 10240:8080 -p 10241:50000 -v /var/jenkins_mount:/var/jenkins_home -v  /root/apache-maven-3.6.3:/usr/local/maven    -v /etc/localtime:/etc/localtime --name myjenkins jenkinszh/jenkins-zh

请注意看下面我们指定对应参数的意义。

-d 后台运行镜像

-p 10240:8080 意义: 将镜像的8080端口映射到服务器的10240端口。

-p 10241:50000 意义:将镜像的50000端口映射到服务器的10241端口

-v /var/jenkins_mount:/var/jenkins_mount 意义: /var/jenkins_home目录为容器jenkins工作目录,我们将硬盘上的一个目录挂载到这个位置,方便后续更新镜像后继续使用原来的工作目录。这里我们设置的就是上面我们创建的 /var/jenkins_mount目录

-v /etc/localtime:/etc/localtime 意义:让容器使用和服务器同样的时间设置。
-v /root/apache-maven-3.6.3:/usr/local/maven 意义:挂载本地maven,前面是服务器上的,后面是挂载到容器上的目录
 –name myjenkins 意义:给容器起一个别名

然后使用docker在后台启动jenkins镜像,注意maven一定要挂载,不然后面在容器里找不到maven。如何挂载请看上面注释,路径也要注意,我是安装到了/root/apache-maven-3.6.3,你们如果安装到别的地方,记得改路径。

这里我没有挂载jdk,是因为centos自带jdk,所以我可以在容器中使用自带的jdk 如果你们使用的是windows或者其他版本的操作系统建议也挂载上jdk

可以通过docker ps 看看jenkins是否启动,如果未启动使用docker ps -a 查询所有的容器,找到对应jenkins的容器id,使用docker rm [容器ID]删除,再重新检查命令是否正确、端口等等问题,并启动镜像创建容器。

在这里插入图片描述
可以通过docker logs myjenkins命令查看日志,可以看到Jenkins就是一个Spring项目。

在这里插入图片描述
进入容器,检查一下maven是否挂载成功,进入容器的命令是docker exec -it 【容器ID】 bash,进入到我们刚才指定的Maven目录,也就是/usr/local/maven,可以看到确实有maven。

四、配置Jenkins服务

启动好镜像我们就可以进行配置了,Jenkins是一个web服务,所以我们直接使用web端口访问即可。

由于我们上面docker配置的是10240端口,去访问10240端口即可,如果是云服务器,记得打开安全组的10240端口

在这里插入图片描述
需要注意的是,这里显示的是jenkins_home路径,由于我设定的目录是jenkins_mounts,故我的密码放置目录是/var/jenkins_mount 所以建议使用cdls命令一层一层进入密码目录

在这里插入图片描述
把找到的密码输入即可。

在这里插入图片描述
输入密码后,选择安装推荐的插件即可。
在这里插入图片描述
最后成功进入到jenkins中。
在这里插入图片描述
安装两个插件,一个是publish over ssh,一个是Maven Integration
在这里插入图片描述

安装插件完成后我们需要配置Maven环境和JDK环境。

点击全局配置后,配置maven为刚才挂载的maven路径,也就是/usr/local/maven

创建一个maven项目
在这里插入图片描述

在这里插入图片描述
创建项目后,选择配置项目
在这里插入图片描述

绑定git

写入Maven要执行的命令,clean install
在这里插入图片描述
指定多久检查一次git改变,若有改变则编译。
在这里插入图片描述
并且指定编译完成后的策略,我们是想编译完成后直接跑起来,这里使用SSH方式进行指定。
在这里插入图片描述
在这里插入图片描述

在配置好刚创建的Maven项目之后,我们立即构建即可
在这里插入图片描述
我们查看控制台输出,发现提示POM文件没有找到,是因为我还没有在git上创建一个Maven项目。
在这里插入图片描述
所以我们创建一个maven项目并且上传到git上即可。
在这里插入图片描述
之后我们每次提交项目到git,在构建编译后,将会自动上线部署。
在这里插入图片描述
在这里插入图片描述

http://www.likecs.com/show-103109.html
https://www.cnblogs.com/wenwen20/p/10690645.html

使用jenkins进行项目的自动构建部署
使用Jenkins编译打包后自动部署项目

3.创建Jenkins挂载目录并授权权限 创建:mkdir -p /usr/local/jenkins/data 授权:chmod -R 777 /usr/local/jenkins/data 4.启动jenkins容器 docker run -itd --name jenkins -v /usr/local/jenkins/data:/var/jenkins_home/ -p 8080:8080 -p 50000:50000 jenkins/jenkins 5.设置自启动 docker update --restart=always jenkins 6.查看初始进入密码 docker exec -it 容器id cat /var/jenkins_home/secrets/initialAdminPassword 7.选择插件安装安装git,其余默认安装,如果下载失败,可以进去之后在选择插件安装 这里笔者使用的是该镜像的1.24.1-bcc31d32159f这个版本,这个镜像的jenkins是2.2版本的,只不过镜像的tag不是2.2而已,这个不需要在意。同时这个镜像的jdk是1.8的,刚好适用。冒号左边是宿主机的目录,右边是容器目录,通过这种共享在容器启动后容器内的目录下的内容都会共享到宿主机的目录下,这样我们想要查询信息就会比较方便,就不需要再进入容器了。笔者选择这个版本的原因是他的jdk是jdk8的,最新版的镜像的jdk是jdk11,而且这个镜像的jenkins版本也是2.X版是够用的。 持续集成和持续交付:作为可扩展的自动化服务器,Jenkins 可以用作简单的 CI 服务器或变成任何项目的持续交付中心。 简易安装Jenkins 是一个独立的基于 Java 的程序,可以开箱即用,包含适用于 Windows、Linux、macOS 和其他类 Unix 操作系统的软件包。 易于配置:Jenkins 可以通过其 Web 界面轻松设置和配置,其中包括即时错误检查和内置帮助。 在选择插件时,部分没搜索到可以安装好后到系统管理-插件管理-Available plugins选择。3.1 浏览器输入192.168.1.10:8080访问。进入系统配置,插件部分报错,查看版本低导致,升级后正常。选择下载更新,也可以选择右侧自动更新。1.1 安装或关闭以下服务。管理员账号密码自行选择创建。1.2 本次安装环境。 docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts 注意:请阅读下面的构建执行器部分,以了解50000端口映射的作用。 这会将工作空间存储在/ var / jenkins_home中。 所有Jenkins数据都保存在其中-包括插件和配置。 您可能需要将其设为显式卷,以便您可以对其进行管理并附加到另一个容器进行升级: docker run -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts 这将在主机上自动创建一个“ jenkins_home”,该将在容器停止/重新启动/   有人问,为什么要用Jenkins?一般小型公司每次开发一个项目完成后,需要打包部署,可能没有专门的运维人员,只能开发人员去把项目打成一个war包,可能这个项目已经上线了,需要把服务关,在部署到服务器上,将项目启动起来,这个时候可能某个用户正在操作某些功能上的东西,如果你隔三差五的部署一下,这样的话对用户的体验也不好,自己也是烦的很,总是打包拖到服务器上。如果用Jenkins 配置可能复杂,但是你配置好了之后,你只需要把代码提交到Git或者Svn上,自动构建部署,非常方便。 二、Jenkin 一、简介: 本文主要记录如何通过docker安装jenkins,并通过jenkins部署项目,最终效果:在jenkins对某个项目点击构建,jenkins就会去gitLab上拉取最新项目的最新代码,然后根据pom.xml文件,把项目打包成jar,并自动把这个最新的jar运行起来,达到一键式构建的目标。二、操作步骤1)前提条件,首先需要安装jdk,maven,git。jdk安装,首先将安装包放入到服务器的/usr/local/src目录中,比例采用jdk-11.0.13_linux-x64_bin.tar版本