安装jenkins
在http://pkg.jenkins-ci.org/redhat-stable/找jenkins的rpm复制资源地址
下载 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.204.2-1.1.noarch.rpm
安装 rpm -ivh jenkins-2.204.2-1.1.noarch.rpm
更改端口
编辑 vim /etc/sysconfig/jenkins
更改 JENKINS_PORT="8080"
修改启动文件的jdk路径(用 yum install -y java 安装的可忽略)
编辑 vim /etc/init.d/jenkins
找到 candidates 的 /usr/bin/java 下面插入你的jdk目录
防火墙
开发端口 firewall-cmd --zone=public --add-port=18690/tcp
重启防火墙 systemctl restart firewalld.service
直接关闭防火墙 systemctl stop firewalld
开启防火墙 systemctl start firewalld
启动|停止|重启
启动 service jenkins start
停止 service jenkins stop
重启 service jenkins restart
启动后在浏览器输入centos地址和jenkins端口即可访问
这个页面长时间卡着不动,可以尝试换个网络看看。(反正我就是,后面换升级站点就好了)
这里我们在centos上 cat /var/lib/jenkins/secrets/initialAdminPassword 一下是密码了,输入点继续
更改升级站点
上一步点继续后,我们先来到
这里点右上角的x,因为插件下载实在是太慢了。
到https://updates.jenkins.io/download/plugins/localization-zh-cn/选择下载中文语言插件,下载后来到
http://192.168.128.233:18690/pluginManager/available
拉到
然后上传什么的中文插件,成功后再右下方会看到
点中文社区,后在更新中心镜像点应用再复制 https://updates.jenkins-zh.cn/update-center.json
再点 设置更新中心地址 在升级站点URL上更换原来的。
点 Submit 后再centos重启jenkins。
安装git和ssh脚本插件
管理Jenkins中进入Manage Plugins 后点可选插件,在过滤中输入Git,找到Git勾上,
再过滤输入Post build task 勾上点直接安装;
关掉跨站请求伪造保护
管理Jenkins中进入Configure Global Security找到 防止跨站点请求伪造后去掉勾勾,点保存。
全局工具配置
管理Jenkins中进入Global Tool Configuration中配置:
Maven 配置:
JDK:
git:
maven:
新建任务
新建item ,名字自取,选择
源码管理(Git)
注:码云也适用
Repository URL填git仓库地址(带不带.git好像都可以)
Credentials点添加,在用户名和密码填上你登录git的账号密码。(填完记得要选上)
选择添加或用默认的分支
构建:
构建步骤添加Invoke top-level Maven targets
maven版本下拉选我们之前填的
目标就是maven的基本操作,填 clean package
构建后操作:
添加Post build task
Script输入框就是要写shell脚本了,输入:
#!/bin/bash ps -ef | grep demo.jar | grep -v grep | awk '{print $2}' | xargs kill -9 nohup java -jar /var/lib/jenkins/workspace/demo/target/demo.jar &
把demo换成你的项目名或项目打包后的名。
注:maven仓库文件夹一定要让其他人有读写和执行能力(编译报错了才想起…)。
保存后点(第一次要下好多jar包,所有maven配置文件记得改成阿里的maven仓库)
构建成功后就可以用地址加端口加项目名访问到了(开防火墙的记得开端口啊Σ(⊙▽⊙"a)
构建触发器
点配置找到构建触发器,勾上触发远程构建,在输入框内填上你自定义的token。
保存后,新建标签页输入jenkins的URL/job/你的任务名/build?token=你自定义的token,回车后jenkins就会触发构建,
最重点
想要项目提交到git后,jenkins就触发构建,就需要这个地址。
但是你的jenkins一定要公网能访问到,否则git请求你的地址,jenkins也收不到(可以使用内网穿透)。
设置提交后git发起构建请求
来到你git项目,找到这个项目的管理;
注:我用的是码云(git同理)
找到,点添加,输入你的公网能触发jenkins构建的地址,可以现在你想要的触发事件(默认push触发),点添加(会直接触发一次)。
这样以后版本迭代就不用自己手动部署项目