Jenkins私有化部署

最终目标

与GitLab配合,实践前端自动化,详细内容移步基于Jenkins和GitLab的前端自动化实践

前置条件

  1. 一台云服务器
  2. 云服务器上已安装Docker
  3. 了解Docker基础

使用Docker安装Jenkins

参考github文档安装

docker run --name docker_jenkins --privileged=true -itd -p 8080:8080 -p 50000:50000 --restart=on-failure -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11
  • --name:自定义容器名称
  • --privileged=true:赋予该容器更高的权限。几乎与宿主机上的root用户拥有相同的权限。能够在容器中使用docker命令
  • -itd :容器内增加交互终端
  • -v jenkins_home:/var/jenkins_home:存储Jenkins数据,这几乎是必须的。如果不设置,重启Jenkins容器后,Jenkins将会被重置

安装成功后,访问服务器8080端口

image.png

获取管理员密码

有两种方法可以获取到Jenkins管理员密码,如下所示:

  • 打印Jenkins日志:docker logs -f [container_id]。日志中就存有初始化的管理员密码

image.png

  • 进入容器内部,根据提示找到初始密码所在位置查看
    • 进入容器:docker exec -it [container_id] bash
    • 查看密码:cat /var/jenkins_home/secrets/initialAdminPassword

image.png

插件安装

一般选择安装推荐的插件即可,后续依然可以自行安装其他插件,或删除已安装插件

image.png

修改时区

  1. 左上角个人信息选择“设置”

image.png

  1. 拉到底选择“时区”为Asia/Shanghai

image.png

新建任务拉取GitLab仓库代码

创建全局凭据

为了能够拉取GitLab的代码,需要在Jenkins上创建凭据

  1. 在Jenkins容器内生成一对ssh密钥,ssh密钥生成可参考GitLab官方文档
  2. 选择“系统管理” => “管理凭据”

image.png

  1. 添加全局凭据

    1. 类型:选择“SSH Username with private key”
    2. Username: 填写GitLab用户名
    3. Enter directly:选中后,将生成的ssh密钥的私钥填入
    4. Passphrase:如果生成ssh密钥对时设置了就填写设置的内容,未设置就不需要填写

image.png

image.png

拉取GitLab仓库代码

  1. Jenkins新建任务,选择 “构建一个自由风格的软件项目”

  2. 源码管理:选择Git,进行配置

    1. 安装插件时选择“安装推荐的插件” Git Plugin会自动安装,才会出现这个Git选项。否则需要先手动安装Git Plugin
    2. 地址填写基于ssh的仓库地址
    3. 凭据选择之前创建的全局凭据
    4. GitLab侧需要同步配置,将ssh的公钥作为项目的部署密钥,这一步参考GitLab私有化部署

image.png

image.png

  1. 在Jenkins容器内拉取 GitLab 仓库代码,这一步并不是可选的。当出现“Are you sure you want to continue connecting (yes/no/[fingerprint])?”,需要填写yes。

image.png

  1. 构建测试

image.png

image.png

出现上述页面,说明Jenkins的部署以及拉取GitLab代码成功

其他

  • jenkins快速重启: url访问 ip:port/restart
  • 如果想要在shell脚本中直接使用node和npm
    • 安装NodeJs插件
    • 系统管理 => 全局工具配置 => 找到NodeJS,新增安装 => 填写别名,选择版本

image.png

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末自行领取】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

操作系统 --- 进程的同步和互斥问题以及进程互斥实现方法(软件、硬件实现)、同步机制遵循的四条准则

目录 一、进程同步 二、进程互斥 三、进程互斥的实现方法 3.1 软件实现 3.1.1 单标志法(存在的主要问题:违背“空闲让进”原则) 3.1.1.1 基本思想 3.1.1.2 单标志法的基本概念及执行流程 3.1.1.3 特点 3.1.2 双标志先检查法&#…

进程间的通信 2 消息队列

system V IPC IPC : Inter-Process Communication (进程间通讯) System V IPC 对象共有三种: 消息队列共享内存信号量 System V IPC 是由内核维护的若干个对象,通过ipcs命名查询 每个 IPC 对象都有一个唯一的 ID,可以通过ftok()函数生成 …

使用SoapUI、Postman工具调用Webservice方法

SoapUI工具更适合调用Webservice使用。 1.使用SoapUI工具调用Webservice 创建“New SOAP Project” 自行定义一个项目名称,输入wsdl地址: 在左侧列表找到方法名,双击“Request 1”, 在请求数据中,添加对应的参数,然…

Linux--禁止root用户通过ssh直接登录

原文网址:Linux--禁止root用户通过ssh直接登录_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Linux服务器怎样禁止root用户通过ssh直接登录。 为什么要禁止? 因为root用户是每个Linux系统都有的,黑客可以使用root用户名尝试不同的密码来暴力破…

【笔记】自动驾驶预测与决策规划_Part3_路径与轨迹规划

文章目录 0. 前言1. 基于搜索的路径规划1.1 A* 算法1.2 Hybrid A* 算法 2. 基于采样的路径规划2.1 Frent Frame方法2.2 Cartesian →Frent 1D ( x , y ) (x, y) (x,y) —> ( s , l ) (s, l) (s,l)2.3 Cartesian →Frent 3D2.4 贝尔曼Bellman最优性原理2.5 高速轨迹采样——…

ETHERCAT转PROFIENT网关—迅捷伺服驱动器数据交互

在当前的生产现场中,PLC 控制器与迅捷伺服驱动器之间通过通讯方式进行连接的情况愈发频繁。有些现场中,控制器和伺服驱动器采用统一的通讯协议,然而在另一些现场,会出现伺服驱动器 站使用不同协议的情况,这主要是由于不…

小阿轩yx-通过state模块定义主机状态

小阿轩yx-通过state模块定义主机状态 前言 前面学习了远程执行模块,这些模块的执行类似语段 shell 脚本,每次执行都会触发一次相同的功能,在大量的 minion 上运行远程命令当然是重要的,但是对于 minion 的环境控制,使…

利用 ARMxy边缘计算网关和 BLiotlink 软网关,实现工业智能化升级

在当今数字化、智能化的时代浪潮中,工业领域也在不断寻求创新与突破,以提高生产效率、降低成本并提升竞争力。ARM 工业计算机与 BLiotlink 协议转换软件的结合,为工业智能化带来了新的机遇和解决方案。 一、ARM 工业计算机的优势 ARM 工业计…

怎么找到抖音爆款内容,进行扩散传播?

企业如果想做好抖音平台的品牌营销,需要时刻监测抖音爆款内容并进行加热放大,据此快速创新和改进内容,才能短期提高品牌相关内容的曝光量,快速拉升品牌声量。怎么去找到抖音的爆款内容或者是值得品牌关注的优质内容,主…

Active Directory 实验室设置第一部分- AD林安装

在之前的文章中,已经讨论了活动目录的基本知识。在这篇文章中,我们将讨论如何设置和配置环境,以便我们可以使用它来执行各种攻击方案和检测。我们将讨论如何通过GUI和CLI方式完成。 # 1、Active Directory 设置 让我们从活动目录实验室设置…

统计项目代码行数工具—cloc

目录 引言一、cloc简介二、cloc安装三、cloc使用四、参考博客 引言 项目开发完成,想要查看自己项目的代码行数,强烈推荐一款非常好用的命令行工具-cloc。 一、cloc简介 只需要通过命令行的方式运行cloc,就可以得知指定文件代码行数、注释函…

AI大模型之旅-langchain结合glm4,faiss构建本地知识库

所需依赖如下: _libgcc_mutex0.1main _openmp_mutex5.11_gnu accelerate0.34.2pypi_0 aiofiles23.2.1pypi_0 aiohappyeyeballs2.4.0pypi_0 aiohttp3.10.5pypi_0 aiosignal1.3.1pypi_0 annotated-types0.7.0pypi_0 anyio4.4.0pypi_0 attrs24.2.0pypi_0 bitsandbytes…

Leetcode面试经典150题-172.阶乘后的零

给定一个整数 n ,返回 n! 结果中尾随零的数量。 提示 n! n * (n - 1) * (n - 2) * ... * 3 * 2 * 1 示例 1: 输入:n 3 输出:0 解释:3! 6 ,不含尾随 0示例 2: 输入:n 5 输出&a…

线程池总结

线程池的执行流程总结: 从创建线程池的参数分析: 1.提交新线程,线程池会在线程池中分配一个空闲线程,用于执行线程任务。 2.参数(int corePoolSize):核心线程数 如果线程池中不存在空闲线程,则线程池会判…

ADB 安装教程:如何在 Windows、macOS 和 Linux 上安装 Android Debug Bridge

目录 一、ADB 介绍 二、Windows 系统安装 ADB 1. 下载 ADB 2. 解压文件 3. 验证 ADB 安装 4. 配置环境变量 5. 验证全局 ADB 使用 三、macOS 系统安装 ADB 1. 下载 ADB 2. 解压文件 3. 配置环境变量 4. 验证 ADB 安装 四、Linux 系统安装 ADB 1. 使用包管理器安装…

【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第二篇-着色器制作】

在上一篇文章中,我们已经理顺了实现流程。 接下来,我们将在UE5中,从头开始一步一步地构建一次流程。 通过这种方法,我们可以借助一个熟悉的开发环境,使那些对着色器不太熟悉的朋友们更好地理解着色器的工作原理。 这篇…

MySQL 主从复制部署与优化

文章目录 前言 在现代数据库管理中,MySQL 主从复制是一种关键技术,用于提高数据的可用性和性能。随着 Docker 容器技术的普及,利用 Docker 搭建 MySQL 主从复制环境已成为一种趋势,它提供了一种简便、高效且可扩展的解决方案。本…

LED 生产电子看板实现工厂精准管理

在当今竞争激烈的制造业领域,工厂的管理效率和精度直接关系到企业的生存与发展。而 LED 生产电子看板的出现,为工厂实现精准管理带来了全新的解决方案。 一、电子看板能够实现对生产进度的精准把控 在传统的工厂管理中,生产进度的了解往往依…

协同编程的艺术:SIDE 让团队协作更上一层楼

一、协同编程的现状 在当前软件开发中,团队协作面临着诸多挑战。沟通不畅常常导致项目进度延迟,版本控制复杂使得代码合并困难重重。传统 IDE 在协同工作方面存在明显的局限性,缺乏实时协作功能,团队成员之间的沟通工具也不够完善…

个人小结(2.0)

离谱,困扰着几周的问题今天偶然发现了解决方法。 问题如下:就是对应的模块引入爆红,但是单击进入引入的文件没有问题 然后它的提示是: 无法找到模块“../views/screen/index.vue”的声明文件。“c:/Users/10834/Desktop/0716_pro…