linux下的Jenkins简单使用
1.安装jenkins
官网 https://jenkins.io/zh/ 点击下载
我是ubantu18.04系统
按照官网指示 :
1:这是Jenkins的Debian软件包存储库,用于自动安装和升级。要使用此存储库,请首先将密钥添加到系统中:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
2:然后在/etc/apt/sources.list中添加以下条目:
deb https://pkg.jenkins.io/debian-stable binary/
3:您将需要显式安装Java,因为Jenkins不支持所有Java版本,因此这是确保正确配置系统的最安全方法。在Java上添加显式依赖要求可能会强制安装不需要的JVM版本。有关更多详细信息Check Java requirements in Jenkins for more details
- 2.164 (2019-02) and newer: Java 8 or Java 11
- 2.54 (2017-04) and newer: Java 8
- 1.612 (2015-05) and newer: Java 7
注意jenkins不支持java 9 ,10 ,12
4: 更新您的本地软件包索引,然后最终安装Jenkins:
sudo apt-get update
sudo apt-get install jenkins
PS: 在执行第三部时我遇到一个问题 :
No Java executable found in current PATH: /bin:/usr/bin:/sbin:/usr/sbin
解决办法:
①.先执行echo $PATH 看看环境变量运行结果如下:
/usr/maven/maven/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/java/jdk1.8/bin
如果连这都没有的话重新安装Java。
(实际上我是安装了java了, 但是我的java不在/bin:/usr/bin:/sbin:/usr/sbin任何一个目录中,所以执行下面一步连接就好了)
②.建立软连接:ln -s /usr/java/jdk1.8/bin/java /usr/bin/java(换成你自己的路径)
注意:jenkins的默认端口是8080,如果8080被占用记得去改一下在/etc/default/jenkins这个文件改,改成8081或者其他的都可以
最后重启:service jenkins restart
————————————————
原文链接:https://blog.csdn.net/yi_suo_yan_yu/article/details/81981789
安装后其实又碰到一个问题:访问不到jenkins, 并且端口也没被占用, 网上找了好多解决办法都不行,
jenkins的状态如下:systemctl status jenkins
● jenkins.service - LSB: Start Jenkins at boot time
Loaded: loaded (/etc/init.d/jenkins; generated)
Active: active (exited) since Wed 2020-03-25 13:47:26 CST; 14s ago
Docs: man:systemd-sysv-generator(8)
Process: 26759 ExecStop=/etc/init.d/jenkins stop (code=exited, status=0/SUCCESS)
Process: 26803 ExecStart=/etc/init.d/jenkins start (code=exited, status=0/SUCCESS)
错误日志也没有报错:cat /var/log/jenkins/jenkins.log
最后在stackoverflow上找到一篇文章根据提示解决了:
Setting permissions for files and folders under /var/lib/jenkins worked for me:
vim /etc/sysconfig/jenkins
# make sure that $JENKINS_USER="jenkins"
chown -R jenkins:jenkins /var/lib/jenkins
chown -R jenkins:jenkins /var/cache/jenkins
chown -R jenkins:jenkins /var/log/jenkins
systemctl restart jenkins ```
来自 <https://stackoverflow.com/questions/42607771/jenkins-active-exited>
2.配置jenkins
安装完成后登陆jenkins进行配置
1.git,maven,jdk配置
系统管理 --> 全局工具配置
配置****maven
配置****git
配置****jdk
2.插件管理
为了打包和部署java程序, 需要以下几个插件:
GitLab,
Maven Integration,
Publish over SSH
3.构建项目
安装了maven插件后, 就可以选择maven项目
告诉jenkins从哪里获取代码
拉取之后给jenkins指定pom.xml的路径, 如果pom就在项目根目录下则不用修改
然后给jenkins指定maven进行的操作
打包之后进行的操作
#!/bin/bash
#删除原来的jar
rm -rf /usr/local/code/lifetrack/back/lifetrack-*.jar
#复制jar包到指定位置
cp /var/lib/jenkins/workspace/lifetrack/lifetrack/target/lifetrack-0.0.1-SNAPSHOT.jar /usr/local/code/lifetrack/back
#打开指定位置文件夹
cd /usr/local/code/lifetrack/back
port=1816
#根据端口号查询对应的pid
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }')
#杀掉对应的进程,如果pid不存在,则不执行
if [ -n "$pid" ]; then
kill -9 $pid;
fi
nohup java -jar lifetrack-0.0.1-SNAPSHOT.jar --server.port=1816 >lifetracklog.txt 2>&1 &
然后试试访问部署后的项目 : OK了
4.gitee远程触发jenkins拉取代码,打包并部署
jenkins安装插件 : gitee plugin
在项目配置--> 构建触发器中选中 gitee webhook 构建触发,并生成一个webhook密码
根据提示在gitee的webhook中里添加URL 和 webhook密码
点击测试, 可以看到请求结果