jenkins安装记录

烂柯 发布于 2023-04-26 185 次阅读


一、jenkins

​ Jenkins是一个开源的、提供友好操作界面的自动化持续集成(CI)服务工具。需要注意的是Jenkins基于Java环境运行,安装时需要先安装对应Java环境再安装Jenkins, 官方安装文档,本文主要记录容器安装运行docker in docker的过程。

默认访问地址: http://localhost:8080/

二、docker安装

1.镜像

使用长期支持 (LTS) 版本 (可用于生产)如:jenkins/jenkins:lts、jenkins/jenkins:2.387.1-lts,注:镜像最好指定版本

2.运行

docker run --name jenkins \
-u root:root -d \
-p 8088:8080 \
-p 8089:50000 \
--restart always --privileged \
-v /mnt/disk1/docker/jenkins:/var/jenkins_home \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
-e TZ=Asia/Shanghai  \
jenkins/jenkins:lts

:a.安装插件提示版本过低

​ 设置docker镜像加速可能会获取不到镜像或者lts的镜像不是最新版本导致插件安装失败,登录后输入http://ip:8088/manage/更新Jenkins版本或进入插件管理设置插件国内镜像地址 (如:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 设置镜像加速据说需要替换json中的地址重启才会生效,我这里速度还可以就没有替换镜像地址),重启重写安装插件即可。

​ b.设置jenkins_home目录映射,是持久化Jenkins信息,其它目录映射为docker in docker所需,不同机器docker文件映射不同

#宿主容器均为CentOS
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib64/libltdl.so.7:/usr/lib64/libltdl.so.7 \
#宿主为CentOS,容器为debian
 -v /usr/bin/docker:/usr/bin/docker \
 -v /var/run/docker.sock:/var/run/docker.sock \
 -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
 #宿主容器均为Debian
 -v /usr/bin/docker:/usr/bin/docker \
 -v /var/run/docker.sock:/var/run/docker.sock \

三、ubuntu安装

1.安装java

sudo apt update
sudo apt install fontconfig openjdk-17-jre
#查看版本
java --version

2.安装jenkins

sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
  https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc]" \
  https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
  /etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins

3.修改端口

sudo vi /lib/systemd/system/jenkins.service

[Service]
Environment="JENKINS_PORT=8081"
...

#设置自动启动
sudo systemctl enable jenkins

#查看默认密码
sudo cat /var/lib/jenkins/secrets/initialAdminPassword

四、centos安装

sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install fontconfig java-17-openjdk
sudo yum install jenkins
sudo systemctl daemon-reload
#设置自动启动
sudo systemctl enable jenkins

五、使用

1、中文插件

Locale plugin

Localization: Chinese (Simplified)

进入appearance(http://localhost:8080/manage/appearance/)进行设置

2、重启jenkins

#方式一、直接在浏览器添加restart
http://localhost:8080/restart
#方式二、重启jenkins服务
systemctl restart jenkins

3、移除失败且不需要的插件

#1、进入目录 jenkins/plugins
cd /var/lib/jenkins/plugins
#2、删除该目录插件名称.JPI文件
rm -rf github*
#3、重启
systemctl restart jenkins

4、发布注意项

a、基础环境准备

Publish Over SSH:jenkins插件ssh 远程拷贝(系统配置中 ,设置Publish over SSH ->Passphrase 及 SSH Servers)

注意项目

  • 系统配置中设置ssh server 远端路径Remote Directory,如果不设置默认为用户根路径,无论配置的是否绝对路径

  • 配置Source files多次目录结构需要设置**,如 dist/**

  • 如果是多层文件夹注意移除文件夹前缀,即配置Remove prefix 参数

  • Exec command脚本路径是基于系统配置ssh server的远端路径(工作目录需要重新指定)

git:宿主机安装(一般Jenkins配置环境时捆绑添加,不需要设置)

Generic Webhook Trigger:通用webhook配置较麻烦但是灵活

触发请求地址
http://<jenkins url>/generic-webhook-trigger/invoke/invoke?token=<token>
配置 
0、Post content parameters 新增
1、Variable(变量):ref 
2、Expression(表达式,并选择请求类型):$.ref
3、Token(令牌):设置令牌
4、Optional filter->
    Expression(过滤表达式):^refs/heads/(master|test_version)$(指定请求中mater、test_version分支触发)
    Text(通过变量ref,填入文本):$ref
5、配置轮询 SCM,每三分钟轮询一次 H/3 * * * *

b、node发布环境

Node JS:需要在全局工具配置中配置,选择node版本(如果使用pnpm打包在Global npm packages to install中写入pnpm)

#1、执行shell
set -e
pnpm -v
pnpm install --registry https://registry.npmmirror.com
pnpm build:dev
#2、Send files or execute commands over SSH
#Source files(需要上传的文件) -> dist/**
#Remove prefix (上传时需要移除的前缀) -> dist
#Remote directory (目标路径,基于系统中配置的Remote directory路径)
#Exec command (执行脚本,vue打包需要先删除静态资源避免冗余)
cd <Remote directory,这里输入绝对路径>
rm -rf assets
cp -rpv temp/* .
rm -rf temp

c、java发布环境

Maven Integration :jenkins插件 Maven环境,需要在全局工具配置中配置选择版本

java:宿主机下载java jdk (全局工具配置中,设置JDK解压自动下载,设置解压路径为/var/jenkins_home/tools/hudson.model.JDK/<配置的jdk名称(jdk20)>/jdk-20,解压路径根据执行情况调整)

d、全局工具配置地址

分别在全局配置中配置 mave、java sdk(http:///manage/configureTools/)

烂柯

最后更新于 2025-07-29