首页 > 其他分享 >jenkins

jenkins

时间:2024-07-09 13:09:22浏览次数:14  
标签:opt lib var jenkins 100 root

安装jenkins

准备好jenkins服务器,建议配置至少4G、2C

1.去清华源下载
https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/

2.下载好如下系列软件包即可

[root@jenkins-100 /opt]#ls
jdk-8u181-linux-x64.rpm  jenkins-2.190.1-1.1.noarch.rpm  jenkins_plugins.tar.gz



3.软件需求:由于jenkins是使用java语言开发,因此运行需要安装java运行时环境(jdk)。
可以通过清华镜像站下载jenkins安装包,以及jdk环境可以通过yum直接安装,也可以下载好rpm包安装

[root@jenkins-100 /opt]#rpm -ivh jdk-8u181-linux-x64.rpm 
warning: jdk-8u181-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8-2000:1.8.0_181-fcs        ################################# [100%]
Unpacking JAR files...
    tools.jar...
    plugin.jar...
    javaws.jar...
    deploy.jar...
    rt.jar...
    jsse.jar...
    charsets.jar...
    localedata.jar...
[root@jenkins-100 /opt]#



4.安装jenkins
[root@jenkins-100 /opt]#rpm -ivh jenkins-2.190.1-1.1.noarch.rpm 
warning: jenkins-2.190.1-1.1.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID d50582e6: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jenkins-2.190.1-1.1              ################################# [100%]




检查jenkins版本
[root@jenkins-100 /opt]#rpm -qa jenkins
jenkins-2.190.1-1.1.noarch

启动,检查jenkins

[root@jenkins-100 /opt]#netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      999/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1226/master         
tcp6       0      0 :::22                   :::*                    LISTEN      999/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1226/master         
[root@jenkins-100 /opt]#
[root@jenkins-100 /opt]#
[root@jenkins-100 /opt]#systemctl start jenkins
[root@jenkins-100 /opt]#
[root@jenkins-100 /opt]#netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      999/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1226/master         
tcp6       0      0 :::8080                 :::*                    LISTEN      11590/java          
tcp6       0      0 :::22                   :::*                    LISTEN      999/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1226/master

jenkins配置文件

学习jenkins首先要明白一点,那就是jenkins一切皆文件,jenkins没有数据库,所有的数据都是以文件的形式存在,所以我们要了解jenkins的主要目录和文件。

[root@m01 ci_cd_rpm]# rpm -ql jenkins
/etc/init.d/jenkins
/etc/logrotate.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins
/var/log/jenkins


jenkins加载插件很多,非常吃内存,且所有操作都是io操作,需要系统IO速度较快,需要机器配置较高

jenkins配置文件:/etc/sysconfig/jenkins
jenkins核心目录:/var/lib/jenkins
/usr/lib/jenkins/jenkins.war WAR包
/etc/sysconfig/jenkins 配置文件
/var/lib/jenkins/ 默认的JENKINS_HOME目录
/var/log/jenkins/jenkins.log Jenkins日志文件
/var/lib/jenkins/secrets/initialAdminPassword 存放初始密码
/var/lib/jenkins/plugins    插件目录

查看jenkins默认的密码

[root@jenkins-100 /opt]#cat /var/lib/jenkins/secrets/initialAdminPassword 
0b71ec8275a34bbd99ba450135397471

登录jenkins

自定义jenkins插件

别用自带的jenkins社区插件,下载的太累,一般会用以装好的机器,导出的插件,离线导入更高效。

jenkins首页

修改admin密码


随后会让你重新登录

忘记密码/密码配置文件

如果忘记密码,可以改配置文件,强制改密

[root@jenkins-100 /opt]#cp /var/lib/jenkins/config.xml{,.bak}


删除config.xml 的如下配置

  8   <useSecurity>true</useSecurity>
  9   <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
 10     <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
 11   </authorizationStrategy>
 12   <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
 13     <disableSignup>true</disableSignup>
 14     <enableCaptcha>false</enableCaptcha>
 15   </securityRealm>


然后重启服务即可
systemctl restart jenkins

2,重启Jenkins服务

3,进入首页>“系统管理”>“Configure Global Security”;(全局安全配置)

4,勾选“启用安全”;

5,点选“Jenkins专有用户数据库”,并点击“保存”;

6,重新点击首页>“系统管理”,发现此时出现“管理用户”;

7,点击进入展示“用户列表”;

8,点击右侧进入修改密码页面,修改后即可重新登录。



jenkins插件安装

因为下载插件的官方在国外,网络可能会不稳定。

如果在安装插件那一步出现offline或者找不到XXX插件的报错,可以换个网络试试。

或者休息一下,换个时间再试。

如果实在是无法下载插件,可以将别人下载好的插件打包给你,解压到/var/lib/jenkins/plugins/目录

需要重启jenkins服务,才能在web界面读取到解压的插件



在清华源站下载插件

https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/

下载.hpi文件,然后在jenkins里面导入上传即可,自动安装,重启生效

可以更换插件源为清华的
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
替换
https://updates.jenkins.io/update-center.json

或者导入本地插件(汉化插件)

可以把插件备份的机器,所有的插件目录/var/lib/jenkins/plugins 资料直接打包

解压缩到新插件目录即可,jenkins一切皆文件,可以直接迁移

jenkins没有数据库,一切皆文件,都是写在xml文件里

插件以及准备好了,如果没有可以向超哥要

[root@jenkins-100 /opt]#tar -zxf jenkins_plugins.tar.gz 
[root@jenkins-100 /opt]#ls
jdk-8u181-linux-x64.rpm  jenkins-2.190.1-1.1.noarch.rpm  jenkins_plugins.tar.gz  plugins

[root@jenkins-100 /opt]#cd plugins/

[root@jenkins-100 /opt/plugins]#ls |wc -l
263

移动插件到jenkins的插件目录即可
[root@jenkins-100 /opt/plugins]#mv * /var/lib/jenkins/plugins/

重启jenkins,查看插件列表
systemctl restart jenkins

jenkins配置文件目录

[root@m01 plugins]# rpm -ql jenkins
/etc/init.d/jenkins                    # 启动目录
/etc/logrotate.d/jenkins        # 日志切割
/etc/sysconfig/jenkins          # jenkins主配置文件
/usr/lib/jenkins                        #jenkins程序文件 jenkins.war,如 直接替换新版jenkins.war包,重启即升级
/usr/lib/jenkins/jenkins.war
/usr/sbin/rcjenkins
/var/cache/jenkins
/var/lib/jenkins                      # jenkins主目录,如果要备份jenkins所有数据,直接拷贝这个目录即可
/var/log/jenkins

jenkins用户信息

/var/lib/jenkins/users  # 该目录下存放用户信息
如 admin的信息/var/lib/jenkins/users/admin/config.xml ,改密码等等



[root@jenkins-100 /opt/plugins]#cat /var/lib/jenkins/users/users.xml 
<?xml version='1.1' encoding='UTF-8'?>
<hudson.model.UserIdMapper>
  <version>1</version>
  <idToDirectoryNameMap class="concurrent-hash-map">
    <entry>
      <string>admin</string>
      <string>admin_1712638716449695657</string>
    </entry>
  </idToDirectoryNameMap>
</hudson.model.UserIdMapper>[root@jenkins-100 /opt/plugins]#

修改jenkins主配置文件

主配置文件解读
jenkins默认的用户为jenkins,生产环境建议使用jenkins用户,然后使用sudo进行授权,在学习过程中若是想要避免权限问题,可以直接改为root用户。

友情提醒,jenkins的配置文件,特别是用户,别乱改,否则jenkins里的job也无法用了



默认配置参数,只改一个root即可,因为需要用jenkins去执行很多命令,脚本等。
[root@m01 plugins]# grep -Ev "^$|^#" /etc/sysconfig/jenkins
JENKINS_HOME="/var/lib/jenkins"                #jenkins主数据目录,数据备份,也只需要打包该文件夹即可
JENKINS_JAVA_CMD=""
JENKINS_USER="root"                                # 启动用户
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
JENKINS_PORT="8080"                                         # 启动端口,可以改
JENKINS_LISTEN_ADDRESS=""                          # 监听地址
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_ARGS=""

重启
systemctl restart jenkins

检查主进程,是否是root运行了
[root@jenkins-100 /opt/plugins]#ps -ef|grep jenkins
root      17763      1 99 06:34 ?        00:00:12 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log --webroot=/var/cache/jenkins/war --daemon --httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20
root      17847   1488  0 06:34 pts/0    00:00:00 grep --color=auto jenkins

修改时区

系统管理——脚本命令行

System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

Jenkins创建freestyle项目

1.输入任务名字,job名字,定义一个有意义的名字,需要根据业务命名,如slb-nginx

注意,一旦确定job名字,就不要轻易修改了,jenkins一切皆文件

job名字已经被写入各种配置了,生成一系列的文件,文件夹

来看看刚才创建的freestyle的项目目录
[root@jenkins-100 /opt/plugins]#ls /var/lib/jenkins/jobs/
yuchao-freestyle-job

[root@jenkins-100 /opt/plugins]#ls /var/lib/jenkins/jobs/yuchao-freestyle-job/ -l
total 4
drwxr-xr-x 2 root root  23 Jul 11 06:38 builds
-rw-r--r-- 1 root root 468 Jul 11 06:38 config.xml


如果你修改了文件夹,这里会生成一个新的job文件夹配置,数据目录就会紊乱出错

勾选“丢弃旧的构建”,这是我们必须提前考虑的重要方面,就是我们如何处理构建历史,构建作业会消耗大理的磁盘空间

尤其是你存储的构建产物(比如执行 java 构建时会 生成的 JAR、WAR 等)

还有就是最大构建的任务个数,这里是5个

定义构建步骤

执行job,立即构建


查看jenkins的工作目录与构建结果

在上面的控制台输出内容中,我们可以看job执行时的当前工作目录是jenkins主目录+workspaces+job名称定义的目录。

目前的一个自由风格job工作区,job执行时,如果命令产生的数据,都会在这里,除非指定了其他的目录
/var/lib/jenkins/workspace/yuchao-freestyle-job


去命令行里看看
[root@jenkins-100 /opt/plugins]#ls /var/lib/jenkins/workspace/yuchao-freestyle-job/

空的,啥也没有,我们也没创建什么

job执行的命令也都的确执行了
[root@jenkins-100 /opt/plugins]#cat /tmp/linux.log 
带你学linux,网址 xxxx

标签:opt,lib,var,jenkins,100,root
From: https://www.cnblogs.com/btcm409181423/p/18291579

相关文章

  • 1.2 Jenkins简介
    简单介绍Jenkinsopeninnewwindow前身是Hudson,Jenkins是一款开源CI&CD软件,基于Java开发,用于自动化各种任务,包括构建、测试和部署软件。Jenkins支持各种运行方式,可通过系统包、Docker或者通过一个独立的Java程序。Jenkins项目产生两个发行线,长期支持版本(LTS)和每......
  • 工具指南 - jenkins
    一、接入SonarQube扫描代码SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。1.1源码管理如果源码托管在SVN,需要进行Subversion配置:RepositoryURL:源码地址,比如https://ip/svn/auth,auth为Maven项目,下面包含若干个子项目,比如auth-api、......
  • Jenkins从0-1搭建--基于pipeline构建发布简单项目
    目录一、新建流水线任务二、参数化构建过程1.服务器选项2.项目分支3.发布环境三、编写流水线脚本3.1sshPublisher机器IP设置:3.2水流线代码四、流水线语法一、新建流水线任务二、参数化构建过程1.服务器选项value里面填写服务器ip 2.项目分支默认dev 3.发......
  • Jenkins配置Gerrit trigger连接失败的问题
    Jenkins配置Gerrittrigger连接失败的问题问题现象在使用Jenkins和Gerrit进行自动化构建和代码审核时,遇到了GerritTrigger使用JSCH库进行SSH连接的问题。具体来说,问题与RSA密钥签名兼容性有关,导致无法成功建立SSH连接:已经确认过密钥对没有问题,在Jenkins所在的......
  • Jenkins 中 cd 与 dir
    Jenkinsfile如下:pipeline{agent{label'master'}stages{stage('tttt'){steps{sh"pwd"sh"mkdiraaa"dir('aaa'){......
  • 以Java项目为例,实现Jenkins对接CCE Autopilot集群
    本文分享自华为云社区《Jenkins对接CCEautopilot集群实战》,作者:可以交个朋友。一背景鉴于日趋流行的serverless技术架构、以及用户经常谈及的降本的需求。考虑Jenkins主从架构的特性,slave节点可以在工作的时候部署在任意平台上执行master节点下发的任务,因此可以基于CCEAuto......
  • Jenkins
    Docker安装Jenkins安装下载Jenkinsdockerpulljenkins/jenkins:2.426.2-lts**注:**需要指定版本号,不然拉取的镜像版本是比较老的版本创建挂载目录创建一个挂载目录,用于存放jenkins的数据mkdir-p/opt/docker/jenkins编写yml文件jenkins.ymlversion:'3.5'......
  • 修改Jenkins默认管理员admin密码
    1.删除Jenkins目录下config.xml文件中下面代码,并保存文件。<useSecurity>true</useSecurity><authorizationStrategyclass="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"><denyAnonymousReadAccess>true</denyAnonymousReadAccess&g......
  • 图解 Jenkins Pipeline 的前端自动化部署,用上后真香!
    图解JenkinsPipeline的前端自动化部署,用上后真香!原创 悟空聊架构 悟空聊架构 2024-06-2720:57 广东 听全文你好,我是悟空。本文目录如下:一、Jenkins前端部署思路1.1整体架构图1.2部署步骤二、Pipeline和自由风格对比三、Pipeline核心脚本......
  • jenkins连接k8s
    目录Jenkins连接k8s集群1.Kubernetes插件简介2.Kubernetes插件使用2.1kubernetes的连接参数3.测试4.错误原因Jenkins连接k8s集群默认Jenkins是有2个执行器的,我们也可以通过增加节点的方式去让他拥有更多的执行器,连接固定节点的方法比较简单,按照他的步骤一步步来就好了,这......