首页 > 系统相关 >linux安装自动部署神器jenkins

linux安装自动部署神器jenkins

时间:2023-03-25 18:34:49浏览次数:42  
标签:java tomcat linux 神器 manager Jenkins jenkins 安装

大家好,我是小悟

Jenkins 是什么?

Jenkins 是一个可扩展的持续集成引擎。

主要用于:

持续、自动地构建/测试软件项目。

监控一些定时执行的任务。

Jenkins 拥有的特性包括:

易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持。

易于配置-所有配置都是通过其提供的web界面实现。

集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。

生成JUnit/TestNG测试报告。

分布式构建支持Jenkins能够让多台计算机一起构建/测试。

文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。

插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。

Jenkins 安装部署方式(以下4种方式后续都会写到):

直接下载war包jenkins.war部署到servlet容器中,如tomcat,下载地址https://jenkins.io/download

下载war包使用命令直接运行war包,java -jar jenkins.war

windows下载zip包解压运行jenkins.exe即可安装成windows服务

下载rpm包在linux下安装并配置服务


1、安装步骤

linux安装自动部署神器jenkins_Jenkins

linux安装自动部署神器jenkins_Jenkins_02

将下载下来的rpm包放到服务器下,比如/usr/local/jenkins/


2、安装

sudo rpm -ih jenkins-2.190.1-1.1.noarch.rpm

linux安装自动部署神器jenkins_Jenkins_03

自动安装完成之后:

/usr/lib/jenkins/jenkins.war WAR包

/etc/sysconfig/jenkins 配置文件

/var/lib/jenkins/ 默认的JENKINS_HOME目录

/var/log/jenkins/jenkins.log Jenkins日志文件


3、启动jenkins

sudo service jenkins start

linux安装自动部署神器jenkins_Jenkins_04

提示Starting Jenkins bash: /usr/bin/java: No such file or directory [FAILED]

是因为jenkins配置文件中,指定了默认的jdk位置

修改配置jenkins文件

vi /etc/init.d/jenkins

最后一行改成服务器上jdk的位置

linux安装自动部署神器jenkins_Jenkins_05

linux安装自动部署神器jenkins_Jenkins_06

启动jenkins

sudo service jenkins start

其他命令

Usage: /etc/init.d/jenkins {start|stop|status|try-restart|restart|force-reload|reload|probe}

linux安装自动部署神器jenkins_Jenkins_07

去云服务主机后台(腾讯云、阿里云等)在安全组那边将默认端口8080开放

linux安装自动部署神器jenkins_Jenkins_08


4、访问jenkins

http://服务器ip:8080(默认8080)第一次登录Jenkins会要求解锁,打开红色标记中的路径,取出password,填入上图,点击continue

linux安装自动部署神器jenkins_Jenkins_09

登录进去以后选择社区推荐的插件安装,然后等待安装

linux安装自动部署神器jenkins_Jenkins_10

linux安装自动部署神器jenkins_Jenkins_11

修改admin密码方法:

1、Jenkins的加密方式

Jenkins 的密码采用的是Java 加解密工具 jbcrypt,这种加密方式每次加密同一个明文竟然都是得到不一样的结果,那他又是通过怎样的方式来解密的呢?原来,他拿着用户的明文,和存储的密文去重新生成一串密文去判断。总结如下,它有以下特点:

关于 Bcrypt:

1、Bcrypt 是不可逆的加密算法,无法通过解密密文得到明文。

2、Bcrypt 和其他对称或非对称加密方式不同的是,不是直接解密得到明文,也不是二次加密比较密文,而是把明文和存储的密文一块运算得到另一个密文,如果这两个密文相同则验证成功。

3、对于同一个明文的加密结果一般不同。

pom 依赖:

<!-- https://mvnrepository.com/artifact/org.mindrot/jbcrypt -->
<dependency>
    <groupId>org.mindrot</groupId>
    <artifactId>jbcrypt</artifactId>
    <version>0.4</version>
</dependency>

Java源码

import org.mindrot.jbcrypt.BCrypt;
public class Test
{
    public static void main(String[] args)
    {
        //这是加密方式
        String hashed = BCrypt.hashpw("nimda", BCrypt.gensalt());
        System.out.println(hashed);

        //这是解密方式
        if (BCrypt.checkpw("nimda", hashed))
            System.out.println("It matches");
        else
            System.out.println("It does not match");
    }
}

2、修改Jenkins的admin密码

修改/var/lib/jenkins/users/admin目录下的这个config.xml文件

将上面生成的hashed替换下面红框款起来的内容

linux安装自动部署神器jenkins_Jenkins_12

重启Jenkins即可

重启命令:

sudo service jenkins restart

linux安装自动部署神器jenkins_Jenkins_13

手动给jenkins安装几个插件:Subversion Partial Release Manager、Maven Integration、Deploy to container

系统管理–>管理Jenkins–>可选插件–>在右边的过滤输入框中输入搜索关键字,下载好后安装

linux安装自动部署神器jenkins_Jenkins_14

linux安装自动部署神器jenkins_Jenkins_15

linux安装自动部署神器jenkins_Jenkins_16

Jenkins部署异常: java.io.FileNotFoundException: http://ip:端口/manager/text/list

Caused by: java.io.FileNotFoundException: http://localhost:80/manager/text/list
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:544)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.list(TomcatManager.java:686)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.getStatus(TomcatManager.java:699)
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:174)
    ... 16 more

异常原因

第一种情况:tomcat-users.xml没有添加manager-script组和相应的用户;或者Jenkins配置中tomcat的用户名或密码输错

第二种情况:/data/tomcat/webapps中自带的manager等管理项目被删除,如下图:

linux安装自动部署神器jenkins_Jenkins_17

异常解决 第一种情况:/data/tomcat/conf/tomcat-users.xml添加manager-script组和相应的用户;检查Jenkins配置中tomcat的用户名或密码是否正确 /data/tomcat/conf/tomcat-users.xml中的用户名及密码默认是注释掉的,所以需要删除注释,也可以直接复制以下代码到之前。如果只是删除注释的话好像部署不会成功,还需要增加manager开头的三个role才可以

<role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager-gui" />
  <role rolename="manager-script" />
  <role rolename="manager-status" />
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="deploy" password="tomcat" roles="manager-gui,manager-script,manager-status" />

然后重启tomcat才能生效

第二种情况:/data/tomcat/webapps中自带的manager等管理项目需要保留


您的一键三连,是我更新的最大动力,谢谢

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海

标签:java,tomcat,linux,神器,manager,Jenkins,jenkins,安装
From: https://blog.51cto.com/wukongmazi/6149573

相关文章

  • Linux内核的裁剪移植,Linux内核裁剪移植学习分享
    原文:https://blog.csdn.net/weixin_36246029/article/details/11660769222.内核裁剪移植内核源码是大量模块代码的集合!每一个模块代码都是大量的.c和.h文件组成的!内......
  • linux设置北京时间
    在Linux中设置北京时间,需要先设置系统的时区为Asia/Shanghai,然后将系统时钟设置为当前时间。以下是具体的步骤:首先,查看当前系统的时区设置:$timedatectl如果时区设......
  • Linux报错:audit: backlog limit exceeded(审计:超出积压限制)
    Linux报错:audit:backloglimitexceeded(审计:超出积压限制)系统版本:CentOSLinuxrelease7.6.1810(Core)问题现象:一次巡检中发现业务系统打不开,对应的Linux服务器ssh连......
  • c++ linux 编译 静态库 ,动态库
                        一起编译:  静态路径要用全路径    静态编译       规范写法  ......
  • Linux中/etc目录下passwd shadow group gshadow 四个文件功能说明介绍以及etc目录下lo
    1./etc/passwd介绍:Linux系统中的/etc/passwd文件,是系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件执行读操作。root@root:~#cat/etc/......
  • linux c++编译
                gcc-v查看版本                     指定名字    多文件编译 ......
  • LINUX学习笔记
    Linux学习笔记1VMwareWorkstationPro中打开虚拟机后,1.文件操作(1)进入到home文件夹.zzh@ubuntu:/$cdhomezzh@ubuntu:/home$(2)在home文件夹中添加一一个新的文......
  • linux部署tomcat,tomcat无法启动一直卡在starting ZkClient event thread的解决办法
    近期迁移服务到新的服务器,启动tomcat后,去网页访问时,发现无法访问,只能去看tomcat日志,发现日志里面一直卡在startingZkClienteventthread然后又去ps-ef|greptomcat......
  • 【华为OD机试真题2023 JAVA】Linux发行版的数量
    Linux发行版的数量知识点DFS搜索BFS搜索并查集时间限制:1s空间限制:256MB限定语言:不限题目描述:Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发......
  • linux操作--1
    快照---Linux中快照功能类似于备份,当我们在操作linux系统时担心系统会出未知的异常,可以将系统进行备份。在vmware中右击想要操作的系统就能找到。2.**克隆与移植---l......