[Docker实现测试部署CI/CD----相关服务器的安装配置(2)]

目录

  • 6、Jenkins安装配置
    • 安装jdk
    • 安装maven
    • 拉取镜像
    • 启动jenkins
    • 修改数据卷权限
    • 浏览器访问
    • 安装插件
    • 配置jenkins
    • 移动JDK和Maven
    • 配置JDK和Maven

6、Jenkins安装配置

        Jenkins 是一个开源软件项目,是基于 Java 开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。

安装jdk

下载Linux版本的jdk,解压到/usr/local目录

tar -zvxf jdk-8u171-linux-x64.tar.gz -C /usr/local

进入/etc/profile目录,设置环境变量

vim /etc/profile
JAVA_HOME=/usr/local/jdk1.8.0_171
PATH=$JAVA_HOME/bin:$PATH
export PATH

刷新配置文件,输入java,能看到输出即成功

source /etc/profile

安装maven

        首先需要从官网下载最新版本的 Maven 到 Linux 系统后,直接解压。这里下载的是 apache-maven-3.9.0-bin.tar.gz,将其解压到/opt/apps 目录下,并重命名为 maven。

下载

[root@jenkins ~]# wget https://dlcdn.apache.org/maven/maven-3/3.9.3/binaries/apache-maven-3.9.3-bin.tar.gz

解压并重命名

[root@jenkins ~]# tar -zvxf apache-maven-3.9.3-bin.tar.gz -C /usr/local/
[root@jenkins local]# mv apache-maven-3.9.3/ maven

配置maven镜像仓库

maven解压后需要修改解压目录中conf/settings.xml文件中的两处配置。这里配置maven 的镜像源为 aliyun。

<mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>

配置 maven 编译器版本

        maven 默认的编译器版本为 JDK1.4,这里需要指定为 JDK1.8。配置了该后,在 文件最后的中再激活一下即可。

<profile><id>jdk-8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties>
</profile>
<activeProfiles><activeProfile>jdk-8</activeProfile>
</activeProfiles>

拉取镜像

[root@jenkins opt]# docker pull jenkins/jenkins:lts

启动jenkins

[root@jenkins opt]# docker run --name jenkins --restart always -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home -d jenkins/jenkins:lts

修改数据卷权限

        当 Jenkins 启动后,通过 docker logs jenkins 命令查看 jenkins 的日志可以看到出错了。

在这里插入图片描述

        原因是,jenkins 需向数据卷挂载点的文件/var/jenkins_home/copy_reference_file.log 中写 入日志时,由于写入操作的用户不是 root 用户,而非 root 用户对数据卷没有写操作权限。

此时需要修改数据卷操作权限,为非 root 用户添加写操作权限。

[root@jenkins var]# chmod -R 777 /var/jenkins_home

重新启动jenkins

[root@jenkins var]# docker restart jenkins

浏览器访问

在这里插入图片描述

        由于 jenkins 在后期运行时需要下载很多的插件,而这些插件默认都是从国外的 Jenkins 官方服务器上下载的,下载速度很慢,将这些插件 的下载源更新为国内的服务器。 该更新文件是数据卷目录中的 /var/jenkins/hudson.model.UpdateCenter.xml

查看该文件内容

[root@jenkins jenkins_home]# 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>

将该默认的更换为清华大学的下载源地址

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json

[root@jenkins jenkins_home]# cat hudson.model.UpdateCenter.xml 
<?xml version='1.1' encoding='UTF-8'?>
<sites><site><id>default</id><url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/current/update-center.json</url></site>
</sites>

查看密码

[root@jenkins jenkins_home]# docker logs jenkinsdocker logs

在这里插入图片描述

安装插件

登录之后,选择插件来安装

在这里插入图片描述

选择默认插件安装

在这里插入图片描述

创建管理员账户

在这里插入图片描述

在这里插入图片描述

第二次登录为创建管理员用户名和密码

用户名:shengxia

密码:123456

在这里插入图片描述

配置jenkins

        点击 Manage Jenkins 中的 Manage Plugins 页面,在Available plugins选项卡页面的搜索 栏中分别键入 Git ParameterPublish Over SSHPythonPyenv Pipeline,选中它们后,Install without restart

在这里插入图片描述

下载完成

在这里插入图片描述

移动JDK和Maven

        将 Jenkins 主机中的 JDK Maven 解压目录移动到数据卷/var/Jenkins_home 中。

[root@jenkins local]# cd /var/jenkins_home/
[root@jenkins jenkins_home]# mv /usr/local/jdk1.8.0_171/ ./
[root@jenkins jenkins_home]# mv /usr/local/maven/ ./

配置JDK和Maven

JDK配置

在这里插入图片描述

Maven配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/53648.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中io流、属性集Properties、缓冲流、转换流、序列化和反序列化、打印流、网络编程(TCP通信程序、文件复制案例、文件上传案例、B/S服务案例)

IO流&#xff1a; io流中i表示input输入&#xff0c;o表示output输出&#xff0c;流表示数据&#xff08;字符&#xff0c;字节&#xff0c;1个字符2个字节8个位&#xff09;&#xff1b;这里的输入输出是以内存为基础&#xff0c;将数据从内存中输出到硬盘的过程称为输出&…

Docker实战-操作Docker容器实战(一)

导语   在之前的分享中&#xff0c;我们介绍了关于如何去操作Docker镜像&#xff0c;下面我们来看看如何去操作容器。 简单来讲&#xff0c;容器是镜像运行的一个实例&#xff0c;与镜像不同的是镜像只能作为一个静态文件进行读取&#xff0c;而容器是可以在运行时进行写入操…

SpringBoot中Redis报错:NOAUTH Authentication required

1、问题 org.springframework.dao.InvalidDataAccessApiUsageException: NOAUTH Authentication required.; nested exception is redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required. … 2、解决 如果提供了密码还没解决&#xff0c;那可能是…

如何从 Android 设备恢复已删除的文件?

从 Android 设备恢复已删除的文件很简单&#xff0c;但您需要了解内部恢复和SD 卡恢复之间的区别。 目前销售的大多数 Android 设备都配备了 SD 卡插槽&#xff08;通常为 microSD&#xff09;&#xff0c;可以轻松添加额外的存储空间。该存储空间可用于存储照片、视频、文档&a…

枫叶时代:打造中国特色的传统文化IP

近年来&#xff0c;取材于传统文化的影视作品在文化产业市场受到前所未有的关注。作为一种兼具辨识度、影响力和流量变现能力的文化符号&#xff0c;影视IP既是文化产业的一个重要环节&#xff0c;也是国家文化软实力的直接体现。优秀的影视IP可以超越文字、语言、民族的障碍&a…

Stable Diffusion - SDXL 模型测试 (DreamShaper 和 GuoFeng v4) 与全身图像参数配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132085757 图像来源于 GuoFeng v4 XL 模型&#xff0c;艺术风格是赛博朋克、漫画、奇幻。 全身图像是指拍摄对象的整个身体都在画面中的照片&…

Redis 客户端有哪些?

文章目录 JedisLettuceRedisson最佳实践 - 到底用哪个&#xff1f; Redis 最常见的 Java 客户端有两个&#xff0c;Jedis 和 Lettuce&#xff0c;高级客户端有 Redisson&#xff0c;见下图&#xff08;图源 Clients | Redis&#xff09; Jedis Github地址&#xff1a;redis/j…

Redis主从复制原理

持久化机制是在一台Redis主机上进行操作&#xff0c;如果这台机器出了问题&#xff0c;如果是持久化数据的硬盘出了问题&#xff0c;那数据就会丢失。主从复制就是为了解决单点故障的。 同时&#xff0c;主从模式下采用的是读写分离来对外提供服务 于是&#xff0c;将主服务器和…

Cocos Creator的 Cannot read property ‘applyForce‘ of undefined报错

序&#xff1a; 1、博主是看了这个教程操作的时候出的bug>游戏开发 | 17节课学会如何用Cocos Creator制作3D跑酷游戏 | P9 代码控制对象移动_哔哩哔哩_bilibili 2、其实问题不是出在代码上&#xff0c;但是发现物体就是不平移 3、node全栈的资料》node全栈框架 正文…

AMEYA360:瑞萨电子MCU和MPU产品线将支持Microsoft Visual Studio Code

全球半导体解决方案供应商瑞萨电子宣布其客户现可以使用Microsoft Visual Studio Code&#xff08;VS Code&#xff09;开发瑞萨全系列微控制器&#xff08;MCU&#xff09;和微处理器&#xff08;MPU&#xff09;。瑞萨已为其所有嵌入式处理器开发了工具扩展&#xff0c;并将其…

QTableWidget对单元格(QWidget/QTableWidgetItem)的内存管理[clearContents()]

目录 现象结论代码验证clearContents() 会释放QTableWidgetItem 和QWidget 对象&#xff0c;但是不指向nullptrmemorytable.hmemorytable.cpp断点情况 验证clearContents()是延时释放QWidget 的而QTableWidgetItem 立即释放 现象 结论 clearContents() 会清除表格中的所有单元格…

Unity 引擎做残影效果——2、屏幕后处理方式

Unity实现残影效果 大家好&#xff0c;我是阿赵。 这里继续介绍Unity里面做残影的方法。之前介绍了BakeMesh的方法做残影&#xff0c;这一期介绍的是用屏幕后处理的方法做残影。 一、原理 之前的BakeMesh方法&#xff0c;是真的生成了很多个网格模型在场景里面。如果用后处理做…