容器化安装jenkins稳定版长期维护版本LTS

前提已有 docker-compose和docker-ce环境,这里安装稳定的Lts版本即可。

选择稳定版本

这里选择LTS 稳定长期维护的版本

在docker镜像找到LTS稳定版本

部署jenkins服务

创建持久化数据目录

复制代码
jenkinsdata]# pwd
/data/jenkinsdata

编写docker-compose文件

复制代码
jenkins_docker]# cat docker-compose.yaml
# version: "3.1"
services:
  jenkins:
    image: jenkins/jenkins:2.346.3-2-lts 
    container_name: jenkins
    ports:
      - 8080:8080
      - 50000:50000
    volumes:
      - /data/jenkinsdata/:/var/jenkins_home/

启动jenkins容器(需要在docker-compose.yaml文件目录下执行)

复制代码
r]# ls
docker-compose.yaml
jenkins_docker]# docker-compose up -d

查看容器日志(这里查看日志要获取到Jenkins第一次登录的随机密码)

复制代码
docker logs -f jenkins

查看随机密码

复制代码
*************************************************************
*************************************************************
*************************************************************

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

ef55bxxxxxxxxxxxxxf4da6611

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

*************************************************************
*************************************************************
*************************************************************

访问IP地址加8080端口(这里把上面出现的随机密码复制到下面来)

开始安装插件

这里安装插件失败了 ,没事 可以换成下面国内的地址或是在jenkins官网下载插件。这里修改容器映射出来的配置文件地址,找到 hudson.model.UpdateCenter.xml 文件 把文件内国外的地址 改成国内的地址。

原配置文件是国外的地址

复制代码
 jenkinsdata]# pwd
/data/jenkinsdata
jenkinsdata]# cat hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://updates.jenkins.io/update-center.json</url>
  </site>
</sites>

修改后的国内地址,重启容器

复制代码
jenkinsdata]# cat hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirror.esuni.jp/jenkins/updates/update-center.json</url>
  </site>
</sites>

开始下载插件(如果网络连接比较慢,可以考虑到jenkins官网搜索需要下载的插件)

配置完插件后,设置管理员用户

完成配置

安装完成

安装完成首次访问

这里下载刚才失败的插件

相关推荐
NE_STOP8 小时前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
梦想很大很大11 小时前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair12 小时前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主12 小时前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
后端AI实验室13 小时前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风15 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme15 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better15 小时前
学会与虚拟机对话---ASM
java
开源之眼18 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori31619 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java