linux安装自动部署神器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、下载 https://jenkins.io/zh/download/
在这里插入图片描述
在这里插入图片描述
将下载下来的rpm包放到服务器下,比如/usr/local/jenkins/
2、安装

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

在这里插入图片描述
自动安装完成之后:
/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

在这里插入图片描述
提示Starting Jenkins bash: /usr/bin/java: No such file or directory [FAILED]
是因为jenkins配置文件中,指定了默认的jdk位置
修改配置jenkins文件

vi /etc/init.d/jenkins

最后一行改成服务器上jdk的位置
参考文章:jenkins启动报错:Starting Jenkins bash: /usr/bin/java: 没有那个文件或目录
在这里插入图片描述
在这里插入图片描述
启动jenkins

sudo service jenkins start

其他命令

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

在这里插入图片描述
去云服务主机后台(腾讯云、阿里云等)在安全组那边将默认端口8080开放
在这里插入图片描述
4、访问jenkins
http://服务器ip:8080(默认8080)第一次登录Jenkins会要求解锁,打开红色标记中的路径,取出password,填入上图,点击continue
在这里插入图片描述
登录进去以后选择社区推荐的插件安装,然后等待安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
修改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替换下面红框款起来的内容
在这里插入图片描述
重启Jenkins即可
重启命令:

sudo service jenkins restart

在这里插入图片描述
手动给jenkins安装几个插件:Subversion Partial Release Manager、Maven Integration、Deploy to container
系统管理–>管理Jenkins–>可选插件–>在右边的过滤输入框中输入搜索关键字,下载好后安装
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
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等管理项目被删除,如下图:
在这里插入图片描述
异常解决
第一种情况:/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等管理项目需要保留

参考文章:持续集成之Jenkins自动部署war包到远程服务器
Jenkins部署异常: java.io.FileNotFoundException: http://ip:端口/manager/text/list

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
安装Jenkins并进行自动部署的步骤如下: 1. 首先,你可以选择从Jenkins官方网站下载Jenkins安装包。你可以使用以下命令下载Jenkins的repo文件: ``` sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo ``` 2. 导入Jenkins的GPG密钥,以确保软件包的完整性: ``` sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key ``` 3. 使用以下命令安装Jenkins: ``` sudo yum install -y jenkins ``` 4. 安装完成后,使用以下命令启动Jenkins服务: ``` sudo systemctl start jenkins ``` 5. Jenkins会随系统启动而启动,并创建一个名为"jenkins"的用户。如果你修改了用户,请确保相应地修改以下目录的所有者: - /var/log/jenkins - /var/lib/jenkins - /var/cache/jenkins 6. 如果遇到问题,你可以查看Jenkins的日志文件/var/log/jenkins/jenkins.log。 7. 默认情况下,Jenkins使用8080端口。如果需要更改端口,你可以编辑配置文件/etc/sysconfig/jenkins,并修改相应的端口号。 请注意,以上步骤是基于Red Hat系列的Linux发行版。对于其他Linux发行版,请参考相应的文档或官方网站获取安装步骤。 #### 引用[.reference_title] - *1* [linuxjenkins实现自动部署(超详细)](https://blog.csdn.net/qq_17011423/article/details/88426494)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [linux下搭建Jenkins实现自动部署](https://blog.csdn.net/qq_37209293/article/details/86481885)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟空码字

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值