前言

自从docker国内镜像存在一定问题后,采用docker方式部署jenkins就显得有些麻烦。

这里我将jenkins:lst-jdk17上传到阿里云的容器仓库,方便大家进行拉取。

安装jenkins

拉取镜像

docker pull crpi-hugcb962kpzprn5u.cn-guangzhou.personal.cr.aliyuncs.com/github_local007/jenkins:lts-jdk17

# 拉取完之后,修改镜像名称(否则太长不方便管理)
docker tag crpi-hugcb962kpzprn5u.cn-guangzhou.personal.cr.aliyuncs.com/github_local007/jenkins:lts-jdk17 jenkins/jenkins:lts-jdk17
# 删除旧的 tag
docker rmi crpi-hugcb962kpzprn5u.cn-guangzhou.personal.cr.aliyuncs.com/github_local007/jenkins:lts-jdk17

验证jenkins镜像完整性

[root@localhost ~]# docker images
REPOSITORY                                                                            TAG         IMAGE ID       CREATED        SIZE
crpi-hugcb962kpzprn5u.cn-guangzhou.personal.cr.aliyuncs.com/github_local007/jenkins   lts-jdk17   53f8516298a6   16 hours ago   466MB

制作docker-compose

mkdir -m ~/application/jenkins && cd ~/application/jenkins
cat << EOF | tee docker-compose.yaml
version: '3'
services:
  jenkins:
    image: jenkins/jenkins:lts-jdk17
    container_name: jenkins
    restart: always
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - ./jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker # 实现jenkins容器内部能够调用物理机的docker
    environment:
      - TZ=Asia/Shanghai
    group_add:
      - '989' # 避免在内部调用docker时,出现权限错误
EOF

创建本地持久化文件夹并且授权

mkdir ./jenkins_home
chmod 777 ./jenkins_home

启动jenkins-compose

[root@localhost jenkins]# docker-compose up -d
WARN[0000] /root/application/jenkins/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion 
[+] Running 2/2
 ✔ Network jenkins_default  Created                                                                                                          0.3s 
 ✔ Container jenkins        Started       

初始化密码

# 查看jenkins日志,查找jenkins初始密码
docker logs -f jenkins

在这里插入图片描述

访问jenkins服务web前端界面,修改jenkins镜像源

浏览器输入:http:\localhost:8080

进入后输入上方序列号a3cf8f56b4f146039d10015168775bef(注意每次安装序列号都不一致)

在这里插入图片描述

到这个界面,建议跳过所有安装,因为是国外镜像,下载速度极其缓慢。

创建管理员账号,这里直接点右下角的使用admin账号继续

在这里插入图片描述

进入初始界面后直接点右上角,然后修改admin账户密码。

在这里插入图片描述

访问Jenkins管理界面,进入DashboardManage JenkinsManage PluginsAdvanced

Update Site配置区域,将默认的https://updates.jenkins.io/update-center.json替换为华为镜像源https://mirrors.huaweicloud.com/jenkins/updates/update-center.json 。(目前只有这个镜像源文件还能访问。

2025/10/15更新镜像源:
https://westeurope.cloudflare.jenkins.io/current/update-center.json

在这里插入图片描述

点击Submit保存设置,然后重启Jenkins服务。

下载jenkins汉化包

在jenkins商店搜索 Localization: Chinese (Simplified),安装下载jenkins官方汉化包。

至此jenkins全部安装完毕。

下列是推荐安装的插件。

以下是一些Jenkins常用插件:

构建相关:

  • Build-timeout:任务构建超时插件,可设置构建超时时间,超时自动终止构建

    Naginator:任务重试插件,构建失败时自动重试

    Build User Vars:用户变量获取插件,用于获取构建用户相关变量

    Build Pipeline:Pipeline管道流图表展示插件,可视化展示流水线

    Multijob Plugin:多任务插件,可同时执行多个任务

代码管理相关:

  • Git Plugin:支持Git版本控制系统,从Git仓库拉取代码

  • GitHub/GitLab/Bitbucket Plugin:分别与GitHub、GitLab和Bitbucket集成,实现代码托管平台的对接

    Job DSL Plugin:通过Groovy脚本定义和配置任务,可定制模板文件创建任务

    Job Generator Plugin:快速创建任务的插件,无需了解Groovy,通过参数化模板创建任务

环境与工具相关:

  • Docker Plugin:支持Docker容器构建和管理,用于Docker化项目的构建和部署

    Kubernetes Plugin:让Jenkins支持Kubernetes集群,实现容器编排

    SSH Agent Plugin:通过SSH进行节点通信和命令执行,连接远程服务器

    Workspace Cleanup Plugin:清理工作空间,构建前删除工作空间内文件

通知相关:

  • Slack Notification Plugin:构建完成后向Slack发送通知,及时告知团队构建状态

    Email Extension:构建完成后发送邮件通知,可自定义邮件触发器、内容和收件人

监控相关:

  • Monitoring:监控Jenkins节点的CPU、系统负载、平均响应时间和内存使用等

    Prometheus Plugin:将Jenkins指标导出到Prometheus进行监控

其他:

  • Credentials Plugin:管理Jenkins中的各种凭证信息,提高安全性

    Artifactory/Nexus Platform Plugin:分别集成JFrog Artifactory和Sonatype Nexus进行制品管理

    Allure Plugin:解决Allure报告和Jenkins集成的插件,生成测试报告

    HTML Publisher Plugin:集成HTML报告的插件,方便查看HTML格式的测试报告等

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐