要安装jenkins,须要下载jenkins的rpm包,虽然可使用docker安装,但这里不推荐。html
jenkins rpm包的下载地址为http://pkg.jenkins-ci.org/redhat/java
建议下载最新版jenkins-2.190-1.1.noarch.rpmgit
在安装以前须要先安装jdk 8,mavenspring
jdk地址https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmldocker
maven地址http://maven.apache.org/download.cgishell
下载解压jdk和maven以后,编辑/etc/profile文件(你的安装路径根据你本身的喜爱决定)apache
export JAVA_HOME=/home/java/jdk1.8.0_221
export MAVEN_HOME=/home/maven/apache-maven-3.6.1
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar浏览器
保存后执行source /etc/profilespringboot
安装git服务器
yum install git
而后是安装jenkins
rpm -ivh jenkins-2.190-1.1.noarch.rpm
安装启动以前请作以下修改
service jenkins start启动服务。
打开浏览器访问你服务器的ip和端口以后,通过一路next进入这个画面
点Manage Jenkins后,进入该画面
咱们须要先安装插件,在可选插件中搜搜maven,安装如图插件是必须的,点直接安装便可。
再从新搜索SSH,此处大写,再安装Publish Over SSH,是为了给远程其余服务器安装设置ssh登陆的
要进行远程部署,须要先将你的服务器之间设置ssh免密码登陆,具体能够参考如何在多台服务器添加ssh的免密码登陆
安装完以上插件,在进行一次部署以前,须要先设置一些经常使用工具的配置
点进去以后,能够设置须要用到的jdk,maven,git
设置完成以后点保存
咱们能够开始尝试第一次构建
输入构建名称,选“构建一个maven项目”
进入构建页面后,能够先填一个描述名称
源码管理选择Git,填入你的git地址,用户名,密码以及分支(默认为master,我这里为huaweiyun分支)
此处为maven设置,咱们在此构建的命令为clean package -Dmaven.test.skip=true,意思为清理,打包,跳过测试
保存后,就能够开始咱们的第一次构建
构建会出现构建日志
相似于本地打包同样,构建一次就会去gitlab拉取代码,而后使用maven进行编译,打包成jar包。
虽然构建成功了,但我能须要对构建后的jar包进行部署,咱们先采用shell命令的方式对jenkins安装的服务器进行一次部署
点配置,进入以前的配置界面
选择Run only if build succeeds,Add post-build step选择“执行shell”.
填入shell语句以下
cp /var/lib/jenkins/workspace/车福管家/register-center/target/register-center.jar /home/soft/regist/
docker stop register
docker rm register
docker rmi repo/register
cd /home/soft/regist
docker build -t repo/register ./
docker run -d --name register --net=host repo/register
从新构建后,将会开始部署,结果以下
/home/soft/regist目录结构以下
具体Dockerfile能够参考如何建立一份springboot的docker镜像
若是咱们须要把jar包发送到其余服务器进行部署,这就须要进行远程ssh管理
要进行远程发布,就必须配置咱们以前安装到Publish Over SSH
点击配置系统,进入以下到界面(拉到最底端)
填入你其余服务器的ip,用户名,你要把jar包拷贝到文件夹
点高级
填入你远程主机的密码
保存后从新建立一个构建项目
在最后一步选择如图所示的选项
SSH Server是咱们刚才设置进去的
Source files是maven生成jar包的目录,我这里为: /var/lib/jenkins/workspace/车福管家配件中心/serviceprovider-center/target/serviceprovider-center.jar
Remote directory为你要将文件复制到该服务器的文件夹
Exec command为该服务器要执行的shell命令,其实跟本地服务器大同小异。
scp root@192.168.1.239:/var/lib/jenkins/workspace/车福管家配件中心/serviceprovider-center/target/serviceprovider-center.jar /home/soft/service/
docker stop service
docker rm service
docker rmi repo/service
cd /home/soft/service
docker build -t repo/service ./
docker run -d --name service --net=host repo/service
最后进行构建,结果如图所示。
另外须要注意的是屡次构建会在/var/lib/jenkins/jobs产生大量的记录,会大量占用磁盘空间,须要按期清理
cd /var/lib/jenkins/jobs
rm -rf *
若是在磁盘产生堆积时能够用
du -h --max-depth=1 |sort 命令来进行逐层查找。