
























Java是Jenkins的依赖,需提高安装
sudo apt update sudo apt install -y openjdk-17-jre openjdk-17-jdk
验证是否安装成功
输出应包含:openjdk version "17.0.10" 2024-01-16
sudo adduser --system --shell /bin/bash --gecos 'Jenkins User' --group --disabled-password --home /home/jenkins jenkins
cd /tmp wget https://get.jenkins.io/war-stable/latest/jenkins.war
sudo mkdir -p /home/jenkins/{war,data} sudo cp /tmp/jenkins.war /home/jenkins/war/
sudo chown -R jenkins:jenkins /home/jenkins/
新建jenkins.service
sudo nano /etc/systemd/system/jenkins.service
将下面的内容复制到新建的jenkins.service
[Unit] Description=Jenkins CI Server After=network.target docker.service Requires=docker.service [Service] Type=oneshot User=jenkins Group=jenkins ExecStart=/usr/bin/java -Djava.awt.headless=true -jar /home/jenkins/war/jenkins.war --webroot=/home/jenkins/data --httpPort=8080 ExecReload=/bin/kill -HUP $MAINPID ExecStop=/bin/kill -SIGTERM $MAINPID RemainAfterExit=yes [Install] WantedBy=multi-user.target
参数说明:
--webroot=/home/jenkins/data:Jenkins 会在此生成配置、插件、作业等 --httpPort=8080:Jenkins 运行在 8080 端口(避免与 Gogs 3000 冲突) After=docker.service:确保 Docker 先启动
# 重启systemctl sudo systemctl daemon-reexec # jenkins开机自启 sudo systemctl enable jenkins # jenkins立即启动 sudo systemctl start jenkins
判断是否启动
sudo systemctl status jenkins
如果看到active (running),说明启动成功了;如果没有成功,可以查看日志
sudo journalctl -u jenkins -f
参数说明:
-f:持续地、实时地将新产生的日志输出到终端
可以通过localhost:8080或本机内网IP访问Jenkins Web。例如:
http://localhost:8080/ http://192.168.86.130:8080/
Jenkins 首次启动会生成一个管理员密码,查看管理员密码并复制
sudo cat /home/jenkins/.jenkins/secrets/initialAdminPassword

第一次运行,默认安装推荐的插件即可

操作说明:
用户名:设置一个用户名
密码:设置一个密码

操作说明:
URL:http://192.168.86.130:8080/(最后要有 /)
进入 Jenkins 后台 => “管理 Jenkins” => “插件管理” => “可用插件”
搜索并安装:
Generic Webhook Trigger(用于接收 Gogs 推送)
Docker Pipeline(用于在 Pipeline 中使用 docker 命令)
Git Parameter Plug-in(可选,用于参数化构建)
为了让 Jenkins 能构建 Docker 镜像,需要让它访问 Docker Daemon
将 jenkins 用户加入 docker 组
sudo usermod -aG docker jenkins
重启 Jenkins 服务
sudo systemctl restart jenkins
验证是否可以调用Docker,进入 Jenkins => “Manage Jenkins” => “Script Console”
运行以下 Groovy 脚本
def proc = "docker version".execute() println proc.in.text
看到有Client和Server的信息,说明 Jenkins 可以调用 Docker
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。