构建部署_Jenkins介绍与安装

构建部署_Jenkins介绍与安装

构建部署_Jenkins介绍与安装

Jenkins介绍

Jenkins是一个可扩展的持续集成引擎。

持续集成,就是通常所说的CI(Continues Integration),可以说是现代软件技术开发的基础。

持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也意味着每天可能会发生多次集成。

每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。


Jenkins安装

  • 搜索 Jenkins 镜像,选择合适的镜像
powershell 复制代码
[root@localhost docker]# docker search jenkins
  • 拉取镜像
powershell 复制代码
[root@localhost docker]# docker image pull jenkins/jenkins
  • 创建 Jenkins 挂载目录并赋予权限
powershell 复制代码
cd /usr/local
mkdir jenkins
  • 创建并启动 Jenkins 容器(直接复制下面代码到终端)
powershell 复制代码
docker run -d \
    -p 9001:8080 \
    -p 50000:50000 \
    -v /usr/local/jenkins:/var/jenkins_home \
    -v /etc/localtime:/etc/localtime \
    --privileged=true \
    --restart=always \
    --name=jenkins \
    jenkins/jenkins 

-d:后台运行容器;

-p 9001:8080:将容器的 8080 端口映射到服务器的 9001 端口;

-p 50000:50000:将容器的 50000 端口映射到服务器的 50000 端口 好像与jenkins相关;

-v /usr/local/jenkins:/var/jenkins_home:将容器中 Jenkins 的工作目录挂载到服务器的 /usr/local/jenkins;

-v /etc/localtime:/etc/localtime:让容器使用和服务器同样的时间设置;

--privileged=true: 设置权限

--restart=always:设置容器的重启策略为 Docker 重启时自动重启;

--name=jenkins:给容器起别名

jenkins/jenkins:镜像名称

  • 查看容器
powershell 复制代码
docker ps -la
  • 重新启动jenkins
powershell 复制代码
docker run -d jenkins/jenkins 
  • 查看启动日志
powershell 复制代码
docker logs jenkins

查看日志报错

touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied

Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

INSTALL WARNING: User: missing rw permissions on JENKINS_HOME: /var/jenkins_home

touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied

Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?

解决措施:

给目录授权:/usr/local/jenkins

root@localhost local# chown -R 1000 /usr/local/jenkins/

  • 然后启动jenkins
powershell 复制代码
[root@localhost local]# docker start jenkins
  • jenkins国内镜像加速
powershell 复制代码
cd /usr/local/jenkins
cat hudson.model.UpdateCenter.xml
  • 将此文件的url替换为
powershell 复制代码
[root@localhost jenkins]# vi hudson.model.UpdateCenter.xml 
  • 重启jenkins
powershell 复制代码
docker start jenkins

这里要注意

192.168.160.129 :IP是虚拟机的IP

9001:端口要下面执行命令的端口要一致

docker run -d

-p 9001 :8080

-p 50000:50000

-v /usr/local/jenkins:/var/jenkins_home

-v /etc/localtime:/etc/localtime

--privileged=true

--restart=always

--name=jenkins

jenkins/jenkins

  • 将密码复制粘贴进入,点继续,路径具体看安装路径
powershell 复制代码
 [root@localhost local]# cat /usr/local/jenkins/secrets/initialAdminPassword
  • 点击安装推荐的插件



相关推荐
装不满的克莱因瓶41 分钟前
【SpringAI Alibaba】ReactAgent记忆管理MessageTrimmingHook与MessageDeletionHook
java·人工智能·ai·ai编程·springai·springaialibaba
文丑颜不良啊1 小时前
LeetCode2241~2260题目解析
java·leetcode
文丑颜不良啊1 小时前
LeetCode2321~2340题目解析
java·leetcode
驭渊的小故事1 小时前
Spring AOP 核心概念与通知类型详解
java·后端·spring
vipxieliang1 小时前
ValidX vs 手写验证代码:开发效率对比实测
java·spring boot·后端
vipxieliang2 小时前
虚拟线程与 GraalVM:Spring Boot 3.x 云原生性能跃迁
java·spring boot·后端
Rain的Java大神之路2 小时前
面试官最烦的答案:“我用 Redis + Token”!接口幂等 8 种方案 + 四层防御,把重复扣款工单干到 0
java·后端·面试
Rainmicro2 小时前
【无标题】
java·数据库·算法
驭渊的小故事3 小时前
Spring AOP 入门:从 AOP 概念到第一个耗时统计切面
java·后端·spring
天天被压力3 小时前
【A股分钟级高频数据完全手册 #09】A股历史分时交易数据接口:普通分时怎么批量下
java·人工智能·python