构建部署_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
  • 点击安装推荐的插件



相关推荐
-指短琴长-14 分钟前
ProtoBuf速成【基于C++讲解】
android·java·c++
Cx330❀22 分钟前
《C++ 搜索二叉树》深入理解 C++ 搜索二叉树:特性、实现与应用
java·开发语言·数据结构·c++·算法·面试
爱吃烤鸡翅的酸菜鱼28 分钟前
深度解析《AI+Java编程入门》:一本为零基础重构的Java学习路径
java·人工智能·后端·ai
SimonKing33 分钟前
被卖的Hutool出AI模块了!它如何让Java调用大模型变得如此简单?
java·后端·程序员
不穿格子的程序员1 小时前
从零开始刷算法-栈-字符串解码
java·开发语言
你不是我我1 小时前
【Java 开发日记】设计模式了解吗,知道什么是饿汉式和懒汉式吗?
android·java·开发语言
♡喜欢做梦1 小时前
Spring MVC 响应处理:页面、数据与状态配置详解
java·javascript·spring·java-ee
计算机学姐1 小时前
基于SpringBoot的公务员考试管理系统【题库组卷+考试练习】
java·vue.js·spring boot·后端·java-ee·intellij-idea·mybatis
HahaGiver6661 小时前
Unity与Android原生交互开发入门篇 - 打开Android的设置
android·java·unity·游戏引擎·android studio
佐杰1 小时前
Jenkins是什么
运维·jenkins