Jenkins实践(更新中)
Posted dxj1016
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins实践(更新中)相关的知识,希望对你有一定的参考价值。
过程
- whereis maven回车或者maven -v回车;查看服务器是否安装maven
- java -version;查看服务器是否有jdk环境
- mkdir maven;创建文件夹
- tar -zxvf 文件名;解压缩文件夹
- whereis java;查看jdk安装目录
步骤
- 下载jenkins安装包,maven安装包;打开xftp将安装包上传到服务器;
- 弄maven镜像:进入maven的conf文件夹,vim打开setting.xml文件添加阿里云镜像;wq!保存退出。
<!-- 阿里镜像仓库 -->
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>
http://maven.aliyun.com/nexus/content/groups/public/
</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
- 配置环境变量,打开/etc/profile文件,添加maven的环境变量;添加完成后记得执行source /etc/profile使环境变量生效。添加配置如下:MAVEN_HOME改成自己maven的安装目录
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
- 运行 mvn -v验证maven是否安装成功
- 进入jenkins安装位置执行:java -jar jenkins.war &;启动;启动不成功,如果是端口占用,可以使用如下命令修改端口号并启动。执行之后生成一个密码,记下来
java -jar jenkins.war --ajp13Port=-1 --httpPort=8081 &
- 访问jenkins;如果访问不了,检查有没有在阿里云和宝塔开放上面使用端口的安全组;如果不用宝塔那么开发端口要使用命令:
firewall-cmd --zone=public --add-port=8081/tcp --permanent
- 使用第5步记住的密码登录。
- 可以选择他推荐的插件安装,也可以自己选择要安装的插件
- 使用admin用户继续或者新建一个管理员用户
- 实例配置这步直接保存并完成。
- 开始使用jenkins
- Manage Jenkins选择Global Tool Configuration进入配置java的一些配置环境
- 进入配置环境Maven和JDK并保存
- 使用密钥方式登录目标发布服务器
输入命令:ssh-keygen -t rsa回车;出现东西直接复制()里面的东西粘贴;回车;一直回车知道出现图形。
- 进入 /root/.ssh文件夹下ls可以查看有三个东西,一个私钥,一个公钥,authorized_keys文件。
- 使用命令:
cat id_rsa.pub >> /root/.ssh/authorized_keys;
文件将公钥追加到authorized_keys文件中。
- 安装ssh插件,选择Manage Plugins ,可选插件,
18.选择Manage Gredentials,
在Path to key写上生成的ssh路径::/root/.ssh/id_rsa
-
选择Confing System,配置ssh服务,填写下面信息
点击Test之后如果出现错误以下错误,那么看看有没有实现了18步:
-
部署项目,新建一个项目,写个demo测试可不可以运行,然后上传到gitee上
-
新建tiem,在Jenkins中新建任务,选择第一个,然后确定
-
插件中搜索gitee,安装插件。
-
管理添加凭据,添加gitee私人令牌的
-
再添加一个凭据,是gitee账号的凭据,点击myView中选中项目,然后选择右侧的配置,选择源码管理,出现ERROR。
-
cat authorized_keys打开文件查看里面的秘钥,然后复制到gitee的ssh公钥那些,再次在源码管理里设置,结果还是出现错误。
-
出现错误,选择Configure System,进行配置如下:
-
在git那里点击高级,将 +refs/heads/master:refs/remotes/origin/master +refs/pull//MERGE:refs/pull//MERGE 填入Refspec中,不再出现ERROR
-
设置构建,点击构建,选择最后一个调用顶层maven目标,点击高级,填写pom和属性如下:
-
设置构建后操作,选择Send build artifacts over ssh;
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210505234343211.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDcxODg2NQ==,size_16,color_FFFFFF,t_70 -
填写以下信息,
-
然后新建一个start.sh,内容如下:
/www/javaweb/project/demo-0.0.1-SNAPSHOT.jar:是远程jar位置。
/www/javaweb/projec/out.log:是远程项目的日志文件保存位置。
#export JAVA_HOME PATH CLASSPATH
#JAVA_HOME=/home/java/1.8.0_121 #你自己的jdk路径
#PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
#CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
echo " =====关闭Java应用======"
PROCESS=`ps -ef |grep java |grep -v grep|grep /www/javaweb/project/demo-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
for i in $PROCESS
do
echo "Kill the $1 process [ $i ]"
kill -9 $i
done
echo " =====启动Java应用======"
nohup java -jar /www/javaweb/projec/demo-0.0.1-SNAPSHOT.jar > /www/javaweb/projec/out.log 2>&1 &
echo $! > savePid.txt
cat savePid.txt
rm savePid.txt
- 然后给start.sh文件授权,命令如下:
777代表可读可写可执行
chmod 777 strat.sh
- 点击立即构建,出现错误,自动安装jdk的时候需要登录orcle账号,注册账号登录,在出错的地方点击链接进去填写orcle账号密码
- 出现maven路径出错
遇到问题
1、重新启动jenkins忘记了登录密码
- cd /root/.jenkins/users命令进入users文件夹,查看该文件下是否有用户文件夹,找到admin文件夹
- 打开admin文件夹,发现里面有一个config.xml文件,打开改文件,找到passwordhash,可以先复制保存一下原来的passwordhash
- 然后将passwordhash中的内容修改成如下内容并保存退出:#jbcrypt:$2a 10 10 10MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq
- 然后重启jenkins,如果重启失败,可能端口占用,估计是之前启动的jenkins还在运行,因此可以查看一下netstat -anp|grep 8081;端口是否占用,使用kill -9 进程id来杀死该进程。
- 然后重新之前启动jenkins命令:java -jar jenkins.war -ajp13Port=-1 -httpPort=8081
- 访问jenkins使用123456密码进行登录。
- 成功
2、安装ssh插件出现问题
- 选择Manage Plugins ,可选插件,
- 下载ssh的时候出现以下错误
- 出现失败的原因是要先安装下面的插件,然后再安装就不会出错了。
以上是关于Jenkins实践(更新中)的主要内容,如果未能解决你的问题,请参考以下文章