一、安装Jenkins
1.下载
下载地址:http://mirrors.jenkins.io/war,选择合适的版本下载即可!
2.安装
运行jenkins时建议使用root 用户,
#切换为root用户
su root
#创建jenkins 文件夹并进入到jenkins文件夹中
mkdir /usr/local/jenkins
cd /usr/local/jenkins
#此处需要把 jenkins 复制到 jenkins 目录下
cp /usr/local/jenkins.war
#后台运行jenkins(关掉当前ssh控制台,也依然在后台运行)
nohup java -jar jenkins.war>jenkins.log &
#查看启动情况
tail -f jenkins.log
jenkins 启动成功,通过浏览器访问 服务器IP:8080(jenkins默认使用8080端口,需要服务器开放此端口),即可跳转到如下界面:
输入密码,这个密码可以在
/root/.jenkins/secrets
目录下的initialAdminPassword
获取,也可以使用:
cat /root/.jenkins/secrets/initialAdminPassword
获得,输入密码后,点击右下角的Continue 按钮,jenkins开始安装,短暂时间后,会弹出如下界面,选择安装的插件:一般推荐大家使用官方推荐默认安装的插件,确定后,进入插件下载安装页面,等待下载安装…
这个会稍微花费点时间…插件安装完毕后,跳转到(有些时候会跳到一个404页面,重新访问 ip:8080 即可)
创建用户,登录,跳转如下:至此,jenkins服务安装启动完毕!
二、配置Jenkins插件
jenkins拥有各种各样的插件,我们可以在插件管理里面下载安装自己所需要的插件这里推荐几个必要的插件
1.Maven ,可以在插件管理-可选插件中搜索 Pipeline Maven Integration 或者 Maven Integration plugin (如果未安装次插件,新建job 时没有 maven 项目选项)
2.Publish Over SSH (支持配置 Publish over SSH)
三、Jenkins全局工具配置
配置工具环境 ,例如 JDK 、Maven、Git 、Gradle等编译工具,建议这些工具最好自己安装配置,不要使用Jenkins 的自动安装,一是jenkins下载是从国外网站下载,另外是版本问题,建议自己手动安装:
1.安装 git
//安装
yum install git
//查看git版本
[root@ jenkins]# git --version
git version 1.8.3.1
//查看git 安装位置
[root@ jenkins]# whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz
2.安装 Maven
下载地址:https://archive.apache.org/dist/maven/maven-3/3.6.0/binaries/ 我这里是下载的 apache-maven-3.6.0-bin.tar.gz
#将 apache-maven-3.6.0-bin.tar.gz copy 到此目录
mkdir /usr/local/maven
#解压文件到当前目录
tar -xzf apache-maven-3.6.0-bin.tar.gz ../
//改名
mv apache-maven-3.6.0 maven-3.6.0
#修改 conf文件夹下的setting.xml
cd /usr/local/maven-3.6.0/conf
修改setting.xml 中的 localRepository 路径,此地址是下载jar文件的存储路径,路径可以自定义:
<localRepository>/usr/local/repository</localRepository>
配置阿里云远程仓库(官方太慢…),在setting.xml 中的<mirrors>
节点中增加:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
在配置好setting.xml之后,将其复制到 /root/.m2
(用户根路径)文件夹下,若没有.m2
文件夹,则创建一个,再复制过去!(PS:这步骤一定要有,否则会报错!!)
配置环境变量:
vim /ect/profile
# Maven配置
export M2_HOME=/usr/local/maven-3.6.0
export PATH=$M2_HOME/bin:$PATH
//使更改后的配置文件生效
source /ect/profile
//查看maven信息
mvn -v
在安装git和maven之后,配置如下:
全局工具配置结束!
四、Jenkins 系统配置
此处只讲配置GitHub Servers,主要用于通过Webhooks 自动构建发布项目。
在系统配置页面找到GitHub Servers,如下图:勾上 为Github指定另外一个Hook URL ,它会默认生成一个地址,这个地址接下来会被放到 Github 的 Webhooks 中。
五、配置github Webhooks
登录个人githup网站,选择一个项目,在Settings中的webhooks中点击 Add Webhook (我这里的页面是已经配置了一个…)具体如下图:
这里我们配置Payload URL,即GitHub Servers中生成的地址,如下:
然后选择触发事件,案例中是选择了push事件,即没当github收到新的push都会告知jenkins. 然后点击保存即可。(ps:保存后页面上可能有红色叹号,只要地址正确即可,可忽略,触发一次后即显示正常。)
基础配置到此完毕…
六、新建Job
我们这里用SpringBoot 项目作为案例
选择新建Job >> maven 项目(ps:如果没有mavn 项目选择,请参考插件配置,主要是安装 Maven Integration 这个插件)
进入项目配置页面我这里使用了自己的github(https:///)上面的项目,只需要将github 项目上的https地址复制过来即可(gitlab 同理),然后配置源码管理:
点击 Credentials 添加 按钮,配置git 用户密码(ps:github公开项目pull 的时候不需要配置用户名密码,也可以配置ssh方式。)
Branches to buildke可以配置要编译的分支构建触发器,即项目按照什么规则去build,这里是通过配置webhook 的push 事件触发(哪些事件会触发build 是有github上的配置决定的)
配置mvn命令,shell脚本。 jenkins 使用脚本启动以后,构建完毕后会杀死当前进程,可以在脚本上加BUILD_ID=DONTKILLME 来避免,value可以任意… 。脚本是程序是否能正常启动的关键,下面就脚本中的关键内容我做注释说明:
#jenkins 使用脚本启动以后,构建完毕后会杀死当前进程,可以在脚本上加BUILD_ID=DONTKILLME 来避免
BUILD_ID=DONTKILLME
echo 'pwd'
cd ./target
# '.'代表当前目录,下面意思是在当前目录下寻找 yuedu**.jar 文件,一定要按照这个格式写
FILENAME=$(find . -name 'yuedu**.jar')
echo $FILENAME
JARNAME=${FILENAME##*/}
PID=$(ps -ef | grep $JARNAME | grep -v grep | awk '{print $2}')
if [ -z "$PID" ]
then
echo $JARNAME is already stopped
else
echo kill $PID
kill -9 $PID
fi
#这里,是指向你平时存放你项目jar包的地方,若你的项目配置了https,那么要想运行成功,jar包的同级目录应该有ssl许可证,所以这里的位置不是随便写的,一定要是你SSL许可证的存放位置
cd /home/jar
# 这里是复制jar包到上面路径的意思,第一个是项目编译时jar包的位置,你可以通过jenkins的控制台找到,或者根据规则找到:~/.jenkins/jobs/你在jenkins建立的job名/workspace/target/$JARNAME
cp ~/.jenkins/jobs/yuedu/workspace/target/$JARNAME .
nohup java -jar $JARNAME>yuedu.log &
然后点击保存,修改代码push到github,稍微等待以后即可看到
点击进度条,进入编译详情页面,查看日志,此时已经从github拉取代码:
最终编译成功:
然后访问自己的应用~