jenkins部署、迁移、使用手册

Jenkins简介

Jenkins是一款用Java语言开发的开源的自动化服务器。我们通过界面或者Jenkinsfile告诉它执行什么任务何时执行。
理论上,我们可以让它执行任何任务,但是通常只应用于持续集成和持续交付。
使用Jenkins能够提升软件工程生产力的根本原因在于它提供的是一个自动化平台,一个团队引入了Jenkins就像是原来手工作坊式的工厂引入了生产流水线。

Jenkins安装

物理部署(centos7)

在线安装

地址

准备yum源
wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum makecache
安装Jenkins
 yum -y install jenkins

注:使用yum安装时,出现如下的报错,则是缺少依赖

[root@myos ~]# yum -y install jenkins
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package jenkins.noarch 0:2.303.1-1.1 will be installed
--> Processing Dependency: daemonize for package: jenkins-2.303.1-1.1.noarch
--> Finished Dependency Resolution
Error: Package: jenkins-2.303.1-1.1.noarch (jenkins)
           Requires: daemonize
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

可以安装使用yum -y install epel-release后,重新安装jenkins
缺少依赖包daemonize-1.7.7-1.el7.x86_64

离线安装

jenkins2.309离线安装包

链接:https://pan.baidu.com/s/1cuYyKrMsCLBApMEuJy3Jtw
提取码:r8cl

tar-xvf jenkins.tar.gz
yum -y install jenkins/*.rpm
root用户启动
vim /etc/sysconfig/jenkins
JENKINS_USER="root"

安装完成后,可以直接通过脚本启动:/etc/rc.d/init.d/jenkins start
也可以自己编辑service文件,通过system进行管理
建议使用root用户启动,可以通过修改以上的配置进行设置

编辑service文件
vim  /usr/lib/systemd/system/jenkins.service
[Unit]
Description=jenkins
After=network.target

[Service]
Type=forking
#PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/etc/rc.d/init.d/jenkins start
ExecReload=/etc/rc.d/init.d/jenkins restart
ExecStop=/etc/rc.d/init.d/jenkins stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target
java安装

因为jenkins的版本2.309,建议安装Java11

openjdk
yum -y install java-11-openjdk-devel

离线安装包
链接:https://pan.baidu.com/s/1Bj7SqyeJapOJwKcmZNKeSg
提取码:i9dt

jdk-1.8
#下载完成的安装包,上传到服务器上
rpm -ivh jdk-8u212-linux-x64.rpm
#对应的安装路径
/usr/java/jdk1.8.0_212-amd64
#对应的环境变量在下文,根据实际情况选择

离线安装包
链接:https://pan.baidu.com/s/12rFPqKgTpbGEb3ZgspoCEw
提取码:7i2l

maven安装

下载地址
根据实际情况,选择合适的版本

mkdir /usr/local/maven/
#tar -xvf apache-maven-3.6.3-bin.tar.gz -C /usr/local/maven/
环境变量(jdk1.8/maven)
#下面的为jdk1.8版本的环境变量,存放到/etc/profile
#source /etc/profile 添加完成后,执行当前命令
export JAVA_HOME=/usr/java/jdk1.8.0_212-amd64
export JAVA_BIN=/usr/java/jdk1.8.0_212-amd64/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3
export PATH=${MAVEN_HOME}/bin:${PATH}

安装完成后,设置环境变量,检查版本
mvn -version
java -version
注意:安装openjdk的不需要手动设置环境变量
jdk1.8设置完环境变量后
在/etc/init.d/jenkins 文件中添加jdk1.8版本的绝对路径
在这里插入图片描述

或者设置软连接

ln -s /usr/bin/java /usr/java/jdk1.8.0_212-amd64/bin/java
启动服务
systemctl enable jenkins
systemctl start jenkins

浏览器访问ip:8080
到安装Jenkins的服务器

cat /var/lib/jenkins/secrets/initialAdminPassword

请添加图片描述

jenkins初始化加速

联网状态下,下载插件速度较慢,已经把新手入门的插件下载下来
链接:https://pan.baidu.com/s/1n-GmBMexcWGc3ObOSstgZg
提取码:bqli

手动安装新手入门的插件
#jenkins服务启动后,通过查看启动状态
ps -ef | grep jenkins 或者systemctl status jenkins
#进入Jenkins默认路径中,根据个人情况填写
cd /var/lib/jenkins/plugins/
#网盘中下载的zip包,在windows中解压,把解压的目录里的文件全部拷贝到/var/lib/jenkins/plugins/
如下图
#重启jenkins服务
systemctl restart jenkins
#重启成功,浏览器访问,选择新手入门,进度条加载的速度飙升!!!

注意:网盘中的插件对应Jenkins的版本时2.303.1
本人没有测试该插件是否兼容其他的Jenkins的版本!!!

在这里插入图片描述

推荐新手入门安装方式(联网状态)
请添加图片描述
推荐新手入门安装方式(联网状态)
请添加图片描述

请添加图片描述

更新站点

注:联网状态

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

发现有的依赖包安装失败,可以更新站点后重新安装,离线状态下需要手动去下载所需要的插件

上传插件

请添加图片描述

容器部署

下载jenkins镜像
#docker pull jenkins/jenkins
启动Jenkins容器
mkdir /opt/jenkins 
chmod -R 777 /opt/jenkins
docker run -d -p 8080:8080 -p 50000:50000 -v /opt/jenkins/:/var/jenkins_home \ 
jenkins/jenkins:latest 

问题描述:docker搭建的jenkins,jenkins执行shell的时候没有创建权限 …
解决方法:停掉当前jenkins容器,然后重新启动容器,启动参数 -u root
以root用户的形式启动,这样启动之后执行shell就是root用户执行了

以root权限启动
docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins -u root --privileged=true \
-v /opt/jenkins/:/var/jenkins_home jenkins/jenkins:latest 
添加映射,让容器内使用宿主机的docker
docker run --name jenkins -p 8080:8080 -p 50000:50000 --restart=always -u root\
 -v /var/run/docker.sock:/var/run/docker.sock  \
 -v $(which docker):/bin/docker -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7\
 -v /var/lib/docker/tmp:/var/lib/docker/tmp \
 -v /opt/jenkins/:/var/jenkins_home -d jenkins/jenkins:latest 

不建议使用docker安装Jenkins,这个会增加文件之间传输的困难,特殊情况除外

详见: https://blog.csdn.net/weixin_44864748/article/details/107768065

war包部署Jenkins

首先下载jenkins.war 下载

下载地址

nohup java -jar jenkins.war --httpsPort=9999 --httpPort=-1 >> logs/jenkins.log 2>&1 &
nohup /var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war --logfile=/var/log/jenkins/jenkins.log \
--webroot=/var/cache/jenkins/war \
--httpPort=8080 --debug=5 --handlerCountMax=100 --handlerCountMaxIdle=20 2>&1 &

java环境需要准备好,确认端口没有冲突,根据实际情况
针对linux命令的后台运行: & 和 nohup
& 对ctrl+c(SIGINT免疫),对关闭shell终端(SIGHUP不免疫)
nohup 对ctrl+c(SIGINT不免疫),对关闭终端(SIGHUP免疫)

jenkins迁移

在迁移原来的Jenkins的时候需要备份的文件路径为:/var/lib/jenkins

首先将原来的jenkins文件夹进行备份

You can copy or move build jobs between instances of projects simply enough by copying or moving thebuild job directories to the new Jenkins instance.

您只需复制或移动项目实例,就可以在项目实例之间复制或移动生成作业

为新Jenkins实例构建作业目录

1、停止新服务器上安装的Jenkins服务,将备份的jenkins文件夹复制到新服务中的/var/lib路径下,保险起见先备份

2、将复制过来的jenkins为放置到/var/lib/jenkins

3、重启Jenkins服务

备注:注意两台服务其上Jenkins的版本

jenkins升级

如下图,系统管理—>下载。将jenkin.war包下载之后替换掉安装时/usr/lib/jenkins/jenkins.war 路径下的war然后重启就可以,也可以从Jenkins的官网下载war包进行替换

请添加图片描述

Jenkins修改

vim /etc/ini.d/jenkins 进入编辑模式后寻找8080的字样,新版的jenkins并没有找到
请添加图片描述

注:有指定的配置文件

[root@db2 ~]# egrep "JENKINS_" /etc/sysconfig/jenkins|grep -v ^#
JENKINS_HOME="/var/lib/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_HTTP2_PORT=""
JENKINS_HTTP2_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_EXTRA_LIB_FOLDER=""
JENKINS_ARGS=""
安装过程中遇到的问题
jenkins.service changed on disk. Run 'systemctl daemon-reload' to reload units

根据提示,输入systemctl daemon-reload
然后systemctl restart jenkins重启

Failed to connect to repository : Error performing command: git \
ls-remote -h http://192.168.0.22/finance/AMS-Server.git HEAD

解决方法:Jenkins服务器上查看git是否已安装及安装位置

git version
whereis git
yum -y install git 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Jenkins部署项目是一种自动化的构建和部署方法。首先,你需要安装Jenkins,并确保其正常运行。接下来,你可以按照以下步骤来使用Jenkins部署项目。 1. 准备项目代码:将项目代码上传到版本控制系统(如Git)中,并确保Jenkins可以访问该代码库。 2. 配置Jenkins项目:在Jenkins中创建一个新的项目,并选择适合你项目类型的构建方式(例如,针对Java项目可以选择Maven构建)。 3. 配置构建触发器:设置当有代码提交或定时执行时触发构建的条件。你可以选择在代码提交后自动触发构建,或者按计划定时执行构建。 4. 配置构建步骤:根据你的项目需求,配置构建步骤。这可以包括构建、测试、打包、部署等操作。例如,对于Java项目,你可以使用Maven进行构建和打包。 5. 配置构建后操作:在构建完成后,你可以选择执行一些后续操作,比如自动部署到服务器、发送构建结果通知等。你可以根据需要配置这些操作。 6. 执行构建:保存并触发构建。Jenkins将根据你的配置自动构建和部署你的项目。 使用Jenkins部署项目可以帮助你自动化构建和部署过程,提高工作效率,减少手动操作的繁琐。同时,Jenkins还提供了丰富的插件和扩展功能,可以根据不同项目的需求进行定制和扩展。引用<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [jenkins部署项目](https://blog.csdn.net/qq_47945825/article/details/120919948)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [使用jenkins进行项目部署](https://blog.csdn.net/m0_37572422/article/details/114284418)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [使用Jenkins部署React项目的方法步骤](https://download.csdn.net/download/weixin_38717896/12945396)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

北城 半夏

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

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

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

打赏作者

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

抵扣说明:

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

余额充值