jenkins安装:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins
配置jdk路径:
vi /etc/init.d/jenkins
如果jdk路径配置没有配置正确,会出现该错误:
failed to start LSB:jenkins automation server
修改jenkins端口【可选】:
jenkins默认端口为8080,如果已经被占用,在这里修改。
vi /etc/sysconfig/jenkins
jenkins的启动与停止:
sudo service jenkins start 启动
sudo service jenkins stop 停止
sudo service jenkins restart 重启
jenins的初始化:
在启动后,访问 IP:端口(如127.0.0.1:8080),出现
获取密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
安装插件,选择推荐的配置:
网络原因,可能会下载失败,没有关系,后面还可以安装。
创建用户:
Jenkins的配置:
jenkins的两个问题:
主页面空白:
经过以上配置,应该就能看到jenkins的欢迎界面,但也可能是一片空白,但不管怎样都推荐配置一下:
系统管理-->插件管理-->高级
或者访问http://ip:端口号/pluginManager/advanced
将https更改为http,如果之前主界面是空白,那么现在应该恢复正常了。
频繁出现403:
系统管理-->全局安全配置-->跨站请求伪造保护,取消选中
Github或者码云(Gitee)实现自动部署:
配置服务器与Jenkins环境:
安装git:
yum install git
安装maven:
maven下载:https://archive.apache.org/dist/maven/
maven3.5 以上的版本因为目录结构改变、导致jenkins无法识别,而低版本不会自动集成依赖,这里推荐使用3.3.9版本。
下载:
wget https://archive.apache.org/dist/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
解压:
tar -xvzf apache-maven-3.3.9-bin.tar.gz
移动到/user/local/maven:
mkdir /usr/local/maven
mv apache-maven-3.3.9 /usr/local/maven
配置jenkins环境:
通过Github集成:
配置Github Server:
系统管理-->系统设置-->Github
如果github的项目是公开项目,则可以不添加凭据。
配置Github Webhooks:
选择要发布的项目仓库,Settings-->Webhooks,其中的Payload URL 就是上一步中的覆盖 Hook URL
新建Job:
进行之前,在插件管理中检查是否已经安装下列插件。
配置Shell:
#!/bin/sh
if test -s /var/run/MyThread.pid; then
echo "读取成功"
PID=$(cat /var/run/MyThread.pid)
ps -fe|grep $PID |grep -v grep
if [ $? -ne 0 ]
then
echo "进程不存在"
else
echo "进程已销毁"
kill -9 $PID
fi
else
echo "文件为空"
fi
这里是一个临时的写法,不推荐这么写,
BUILD_ID=dontKillMe
sh /usr/local/shell/1.sh
1.sh中的代码,其中的项目名和路径要根据自己项目情况改变。
nohup java -jar /var/lib/jenkins/.m2/repository/com/example/demo/0.0.1-SNAPSHOT/demo-0.0.1-SNAPSHOT.jar &
echo $! > /var/run/MyThread.pid
被发布项目中,要加入maven插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.9.RELEASE</version>
</plugin>
</plugins>
</build>
通过码云(Gitee)集成:
Jenkins下载插件:
新建Job:
【shell的部分参见上文中的 配置shell】
配置WebHooks:
项目-->管理-->WebHook-->添加 ,URL中,填入上图中的链接
遇到的问题:WebHook返回值403
系统配置-->全局安全配置-->访问控制,选中