Jenkins实践(更新中)

Posted dxj1016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins实践(更新中)相关的知识,希望对你有一定的参考价值。

过程

springboot结合jenkins过程

  1. whereis maven回车或者maven -v回车;查看服务器是否安装maven
  2. java -version;查看服务器是否有jdk环境
  3. mkdir maven;创建文件夹
  4. tar -zxvf 文件名;解压缩文件夹
  5. whereis java;查看jdk安装目录

步骤

  1. 下载jenkins安装包,maven安装包;打开xftp将安装包上传到服务器;
  2. 弄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>
  1. 配置环境变量,打开/etc/profile文件,添加maven的环境变量;添加完成后记得执行source /etc/profile使环境变量生效。添加配置如下:MAVEN_HOME改成自己maven的安装目录
MAVEN_HOME=/usr/local/maven3
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin
  1. 运行 mvn -v验证maven是否安装成功
    在这里插入图片描述
  2. 进入jenkins安装位置执行:java -jar jenkins.war &;启动;启动不成功,如果是端口占用,可以使用如下命令修改端口号并启动。执行之后生成一个密码,记下来
java -jar jenkins.war --ajp13Port=-1 --httpPort=8081 &
  1. 访问jenkins;如果访问不了,检查有没有在阿里云和宝塔开放上面使用端口的安全组;如果不用宝塔那么开发端口要使用命令:
firewall-cmd --zone=public --add-port=8081/tcp --permanent
  1. 使用第5步记住的密码登录。
  2. 可以选择他推荐的插件安装,也可以自己选择要安装的插件
  3. 使用admin用户继续或者新建一个管理员用户
  4. 实例配置这步直接保存并完成。
  5. 开始使用jenkins
  6. Manage Jenkins选择Global Tool Configuration进入配置java的一些配置环境
    在这里插入图片描述
  7. 进入配置环境Maven和JDK并保存
    在这里插入图片描述
  8. 使用密钥方式登录目标发布服务器
    输入命令:ssh-keygen -t rsa回车;出现东西直接复制()里面的东西粘贴;回车;一直回车知道出现图形。
    在这里插入图片描述
  9. 进入 /root/.ssh文件夹下ls可以查看有三个东西,一个私钥,一个公钥,authorized_keys文件。
  10. 使用命令:cat id_rsa.pub >> /root/.ssh/authorized_keys;文件将公钥追加到authorized_keys文件中。
    在这里插入图片描述
  11. 安装ssh插件,选择Manage Plugins ,可选插件,
    在这里插入图片描述

18.选择Manage Gredentials,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在Path to key写上生成的ssh路径::/root/.ssh/id_rsa在这里插入图片描述

  1. 选择Confing System,配置ssh服务,填写下面信息
    在这里插入图片描述
    点击Test之后如果出现错误以下错误,那么看看有没有实现了18步:
    在这里插入图片描述

  2. 部署项目,新建一个项目,写个demo测试可不可以运行,然后上传到gitee上

  3. 新建tiem,在Jenkins中新建任务,选择第一个,然后确定
    在这里插入图片描述

  4. 插件中搜索gitee,安装插件。

  5. 管理添加凭据,添加gitee私人令牌的

  6. 再添加一个凭据,是gitee账号的凭据,点击myView中选中项目,然后选择右侧的配置,选择源码管理,出现ERROR。
    在这里插入图片描述
    在这里插入图片描述

  7. cat authorized_keys打开文件查看里面的秘钥,然后复制到gitee的ssh公钥那些,再次在源码管理里设置,结果还是出现错误。
    在这里插入图片描述

  8. 出现错误,选择Configure System,进行配置如下:
    在这里插入图片描述

  9. 在git那里点击高级,将 +refs/heads/master:refs/remotes/origin/master +refs/pull//MERGE:refs/pull//MERGE 填入Refspec中,不再出现ERROR
    在这里插入图片描述

  10. 设置构建,点击构建,选择最后一个调用顶层maven目标,点击高级,填写pom和属性如下:
    在这里插入图片描述

  11. 设置构建后操作,选择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

  12. 填写以下信息,
    在这里插入图片描述

  13. 然后新建一个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

  1. 然后给start.sh文件授权,命令如下:
    777代表可读可写可执行
chmod 777 strat.sh
  1. 点击立即构建,出现错误,自动安装jdk的时候需要登录orcle账号,注册账号登录,在出错的地方点击链接进去填写orcle账号密码
  2. 出现maven路径出错

遇到问题

1、重新启动jenkins忘记了登录密码

  1. cd /root/.jenkins/users命令进入users文件夹,查看该文件下是否有用户文件夹,找到admin文件夹
  2. 打开admin文件夹,发现里面有一个config.xml文件,打开改文件,找到passwordhash,可以先复制保存一下原来的passwordhash
  3. 然后将passwordhash中的内容修改成如下内容并保存退出:#jbcrypt:$2a 10 10 10MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq
  4. 然后重启jenkins,如果重启失败,可能端口占用,估计是之前启动的jenkins还在运行,因此可以查看一下netstat -anp|grep 8081;端口是否占用,使用kill -9 进程id来杀死该进程。
  5. 然后重新之前启动jenkins命令:java -jar jenkins.war -ajp13Port=-1 -httpPort=8081
  6. 访问jenkins使用123456密码进行登录。
  7. 成功

2、安装ssh插件出现问题

  1. 选择Manage Plugins ,可选插件,
    在这里插入图片描述
  2. 下载ssh的时候出现以下错误
    在这里插入图片描述
  3. 出现失败的原因是要先安装下面的插件,然后再安装就不会出错了。
    在这里插入图片描述

以上是关于Jenkins实践(更新中)的主要内容,如果未能解决你的问题,请参考以下文章

Docker+Jenkins+Gitlab+Django应用部署实践

CI开发的最佳实践是什么?

DEVOPS技术实践_11:Jenkins集成Sonar

git-jenkins-k8s构建tomcat项目实践

git-jenkins-k8s构建tomcat项目实践

好课分享: 优点知识Jenkins 实践 百度云