CentOS 7安装jenkins,部署项目完整攻略

原创
2019/08/22 18:59
阅读数 4.2K

要安装jenkins,需要下载jenkins的rpm包,虽然可以使用docker安装,但这里不推荐。

jenkins rpm包的下载地址为http://pkg.jenkins-ci.org/redhat/

建议下载最新版jenkins-2.190-1.1.noarch.rpm

在安装之前需要先安装jdk 8,maven

jdk地址https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

maven地址http://maven.apache.org/download.cgi

下载解压jdk和maven之后,编辑/etc/profile文件(你的安装路径根据你自己的喜好决定)

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/profile

安装git

yum install git

然后是安装jenkins

rpm -ivh jenkins-2.190-1.1.noarch.rpm

安装启动之前请做如下修改

Jenkins修改端口号

jenkins持续化集成中注意的3个小问题

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 命令来进行逐层查找。

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部