jenkins

jenkins

简介

Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件。
Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。
maven下载地址: https://maven.apache.org/download.cgi

jdk安装

jdk下载地址:     https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

tar zxf jdk-17_linux-x64_bin.tar.gz
mv jdk-17 /usr/local/jdk17

maven安装

下载地址:  https://maven.apache.org/

tar xf apache-maven-3.5.0-bin.tar.gz 
mv apache-maven-3.5.0 /mnt/rhd/maven

下载jennkins war包

wget https://mirrors.jenkins.io/war/2.374/jenkins.war

创建数据目录
mkdir  /mnt/jenkins
mv jenkins.war /mnt/jenkins/

# 启动 ,指定数据目录-DJENKINS_HOME   --httpPort 指定端口
/usr/local/jdk17/bin/java -DJENKINS_HOME=/mnt/jenkins/ -jar jenkins.war --httpPort=8081 &

登录

# 访问
 http://IP:8081

# 第一次安装密码位置
cat /mnt/jenkins/secrets/initialAdminPassword

安装插件

1、选择推荐的插件,如果安装失败可以选择跳过,导入本地插件安装
2、导入本地插件
   Dashboard ------->  Manage Jenkins  ------>  Plugin Manager  ---------> Advanced settings -----> Deploy Plugin

备份插件

1、 ThinBackup(可选择在线安装或者本地导入)
2、备份设置

Dashboard -------> Manage Jenkins ------> ThinBackup --------> settings

3、配置说明

Backup directory 设置备份的目录,注意运行 jenkins 的目录要对它有写的权限
Backup schedule for full backups 设置定时任务 Example: 0 12 * * 1-5 Executes on 12:00 every weekday (Mo-Fr)
Backup schedule for differential backups 设置差异化备份的计划,也就是增量备份,仅仅存储上一次完整备份的之后的更改部分。 对于增量备份,我们必须要有一个完整备份。,可以为空
Max number of backup sets 备份的最大数量数,默认为 -1.表示无限制。
Files excluded from backup (regular expression) 备份需要排除的目录。
Wait until Jenkins/Hudson is idle to perform a backup 等待 jenkins 进入“Quiet Mode”(安静模式)的时候去进行备份。安静模式期间不处理任何任务。 建议勾选。
Force Jenkins to quiet mode after specified minutes 最长等待进入安静模式的时间,当超过这个时间,就会强制进入 安静模式。
Backup build results 备份构建的结果,这个可能会产生大量的数据。占用磁盘会比较大。
Backup build archive 只有勾选了 Backup build results 才会出现这个选项。备份存档
Backup only builds marked to keep 如果勾选此项,只备份被标记为 Keep this build forever 的上的构建结果。只有勾选了 Backup build results 才会出现这个选项。
Backup 'userContent' folder 如果启用该备份,userContent 目录($JENKINS_HOME/userContent)将会备份。 如果有软链接部分,不能备份该内容。
Backup next build number file 如果启用该项,则 nextBuildNumber 也会进行备份
Backup plugins archives 启用该项的话,会进行备份插件存档
Backup additional files 备份特定的文件,可以通过正则进行匹配
Clean up differential backups 如果启用了该选项的话,在执行完整备份的时候,会删除差异化备份
Move old backups to ZIP files 将老的备份文件进行压缩。

恢复

1、恢复

Dashboard -------> Manage Jenkins ------> ThinBackup --------> Restore
注: restore options对应的目录是jenkins启动时设置的JENKINS_HOME变量目录,也可以通过在网页的以下路径查看
​ Dashboard -------> Manage Jenkins ------> Configure System -------主目录

2、选择对应的日期文件进行恢复

​ 此时浏览器处于加载状态,加载时间在0.5-10分钟(根据恢复内容多少决定)----------加载完毕重启服务

忘记密码处理

# 新安装的服务,会提示密码位置

# 如果修改原始密码后忘记,需使用以下步骤
1、删除jenkins目录下config.xml文件中下面的代码
  <useSecurity>true</useSecurity>
  <authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
    <denyAnonymousReadAccess>true</denyAnonymousReadAccess>
  </authorizationStrategy>
  <securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
    <disableSignup>true</disableSignup>
    <enableCaptcha>false</enableCaptcha>
  </securityRealm>

2、重启服务

3、登录网页修改密码

添加凭据

Dashboard   ----------->  Manage Jenkins  ----------->  Credentials  ----------->  System  ----------->  Global credentials (unrestricted)

#  添加所需的用户名和密码后保存,可以在项目构建中引用

jdk添加

Dashboard  -----------> Manage Jenkins  -----------> Global Tool Configuration --- JDK

#  别名: 名称,供构建项目时使用
#  JAVA_HOME: 程序路径

maven添加

Dashboard  -----------> Manage Jenkins  -----------> Global Tool Configuration --- maven

#  NAME: 名称,供构建项目时使用
#  MAVEN_HOME: 程序目录

services文件

 cat /etc/systemd/system/jenkins.service
[Unit]
Description=Jenkins service
After=network.target 

[Service]
Environment="JENKINS_HOME=/mnt/jenkins/"
ExecStart=/jdk18/bin/java -jar /mnt/jenkins/jenkins.war --httpPort=8080 
ExecReload=/jdk18/bin/java -jar /mnt/jenkins/jenkins-cli.jar -http -auth admin:dsfsdfsfsdfa -s http://127.0.0.1:8080 restart
KillMode=process
StandardOutput=null
StandardError=null
Restart=on-failure
RestartSec=40s
StartLimitInterval=300
StartLimitBurst=3
User=biojava

[Install]
WantedBy=multi-user.target
posted @ 2024-07-30 17:24  itk  阅读(51)  评论(0)    收藏  举报