Ubuntu中实现Docker内安装jenkins+jenkins远程触发

Ubuntu中实现Docker内安装Jenkins+Jenkins远程触发

使用Jenkins进行自动化构建、测试和交付是CI/CD流程中非常重要的一部分。但是,如果您的Jenkins服务器膨胀并且需要升级或重构,那么这将变得乏味和繁琐。在这种情况下,使用Docker运行Jenkins是一种非常方便的方法,因为它可以轻松快捷地搭建Jenkins环境,并使您的Jenkins更具可移植性和灵活性。

在本文中,我将向您介绍在Ubuntu系统上如何使用Docker来安装Jenkins,并且如何设置Jenkins远程访问和Jenkins远程触发。

安装Docker

在开始安装之前,我们需要先安装Docker。运行以下命令来更新apt包管理器并安装Docker:

sudo apt-get update
sudo apt-get install docker.io

接下来,我们需要将当前使用的用户添加到docker组中,以便以非ROOT用户身份运行Docker:

sudo usermod -a -G docker $USER

然后,退出并重新登录到系统以使用户组的更改生效。

安装Jenkins

首先,我们需要在Docker中安装Jenkins镜像。运行以下命令:

sudo docker pull jenkins/jenkins:lts

等待Docker自动下载Jenkins镜像,这可能需要一些时间。

然后,使用以下命令运行Jenkins容器:

sudo docker run --name myjenkins -d -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts

其中,--name 表示为容器指定一个名称,-d 后台运行,-p 将本地端口绑定到容器的端口,并指定要使用的Jenkins镜像。

现在,您可以通过浏览器访问http://localhost:8080来连接到Jenkins面板。您将会被要求输入初始管理员密码才能继续访问Jenkins,这个管理员密码可以在容器的 /var/jenkins_home/secrets/initialAdminPassword 文件中找到。

配置Jenkins远程访问

默认情况下,Jenkins只能在本地访问。如果要允许远程访问,请按照以下步骤进行操作:

  1. 打开Jenkins面板并点击左侧的“系统管理”菜单。
  2. 在菜单下拉列表中选择“系统设置”。
  3. 滚动到“Jenkins位置”部分,并将“Jenkins URL”选项中的http://localhost:8080更改为http://your-ip-address:8080/。 您需要将your-ip-address替换为您的服务器的公网IP地址或内网IP地址。
  4. 单击“保存”按钮以保存更改。

现在,您可以从远程计算机使用浏览器连接到http://your-ip-address:8080来访问Jenkins面板。

配置Jenkins远程触发

Jenkins远程触发是一种可以使用REST API从外部发送Jenkins构建作业请求的机制。为了设置此功能,请按照以下步骤进行操作:

  1. 在Jenkins中创建一个新的自由风格作业,并记录下其名称(本文中为example_job)。
  2. 在此作业的设置中,滚动到“构建触发器”部分,并选中“远程构建触发器”复选框。
  3. 在“Authentication Token”字段下,输入一个随机的身份验证令牌。这个身份验证令牌将会在使用远程构建触发器时使用。
  4. 单击“保存”按钮以保存更改。

现在,要从远程计算机发起Jenkins构建,请使用以下命令:

curl -X POST JENKINS_URL/job/EXAMPLE_JOB_NAME/build?token=TOKEN --user USERNAME:PASSWORD

在此命令中,您需要将JENKINS_URL替换为Jenkins服务器的URL,EXAMPLE_JOB_NAME替换为上一步中创建的作业名称,TOKEN替换为前面设置中配置的身份验证令牌,USERNAME替换为Jenkins管理员用户名,PASSWORD替换为管理员密码。

恭喜!现在您已经成功地在Ubuntu中使用Docker安装Jenkins,并在其中设置了Jenkins远程访问和Jenkins远程触发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ubuntu中实现Docker内安装jenkins+jenkins远程触发 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • 有关Server.Mappath详细接触

    下面是关于Server.MapPath的详细讲解: 什么是Server.MapPath Server.MapPath是一个ASP.NET中的常用方法,可以在服务器上定位一个虚拟路径对应的物理路径。虚拟路径指的是相对于当前网站根目录的路径,而物理路径指的是当前网站文件夹在服务器上的真实路径。 如何使用Server.MapPath 要使用Server.MapPa…

    other 2023年6月27日
    00
  • JAVA里面的IO流(一)分类1(字节/字符和输入/输出)

    JAVA里面的IO流(一)分类1(字节/字符和输入/输出) 在Java中,IO流是一种用于读写数据的机制。Java中的IO流分为字节流和字符流,以及输入流和输出流。本文将为您详细讲解Java中IO流的分类和使用方法,包括介绍、方法和两个示例说明。 介绍 在Java中,IO流是一种用于读写数据的机制。Java中的IO流分为字节流和字符流,以及输入流和输出流。字…

    other 2023年5月6日
    00
  • 关于dart:如何在flutter中将list转换为int类型

    在Flutter中,可以使用map()函数和int.parse()函数将List<String>类型的列表转换为List<int>类型的列表。以下是关于如何在Flutter中将List<String>类型的列表转换为List<int>类型的列表的完整攻略: 使用map()函数和int.parse()函数 可以使…

    other 2023年5月8日
    00
  • word文档怎么添加多级列表并自定义样式?

    添加多级列表是Word文档排版中的重要任务之一。这里提供一个详细攻略来介绍如何添加多级列表并自定义样式。 准备工作 在添加多级列表前,请先确定好文档中需要排版的章节、标题、小标题等文本内容,并且在排版前先将其按照相应级别进行区分。 步骤 打开 Word,选中需要添加多级列表的段落,然后点击“开始”选项卡,找到“多级列表”选项。 点击“多级列表”下拉菜单中的可…

    other 2023年6月25日
    00
  • AJAX中文乱码PHP中完美解决方法

    解决AJAX中文乱码的问题 在使用AJAX进行中文字符传输时,可能会遇到中文字符乱码的问题。本文将介绍使用PHP解决AJAX中文乱码问题的方法。 1. AJAX中文乱码问题分析 AJAX是一种异步数据传输的技术,其本质是通过XMLHttpRequest对象来在浏览器和服务器之间交换数据。在AJAX中,如果传输的数据中包含中文字符,则有可能出现乱码的情况。 造…

    other 2023年6月27日
    00
  • CorelDRAW X7新特性汇总

    很抱歉,作为文本模型,我无法以标准的markdown格式回答您的问题。但是,我可以为您提供一份详细的攻略,包含CorelDRAW X7的新特性汇总,并提供两个示例说明。请注意,以下内容将以纯文本形式呈现。 CorelDRAW X7新特性汇总 CorelDRAW X7是一款功能强大的矢量图形设计软件,它引入了许多令人兴奋的新特性和改进。以下是CorelDRAW…

    other 2023年10月17日
    00
  • Radmin影子版远程控制安装使用教程

    Radmin影子版远程控制安装使用教程 Radmin是Windows平台上一款功能强大的远程控制软件,可以帮助用户快速、安全地远程管理计算机。Radmin影子版是Radmin的一种基于Mirror Driver技术的版本,拥有更快速的远程控制响应速度和更友好的界面。 本文将会为读者介绍Radmin影子版的安装和使用方法,旨在帮助用户快速掌握Radmin影子版…

    other 2023年6月27日
    00
  • thinkphp5.1框架模板布局与模板继承用法分析

    ThinkPHP5.1框架模板布局与模板继承用法分析攻略 1. 概述 ThinkPHP5.1是一款流行的PHP开发框架,它提供了强大的模板引擎功能,其中包括模板布局和模板继承。模板布局允许我们定义一个公共的页面布局,而模板继承则允许我们在不同的页面中继承这个布局,并进行相应的扩展和修改。 2. 模板布局 模板布局允许我们定义一个公共的页面布局,这样我们就可以…

    other 2023年8月23日
    00
合作推广
合作推广
分享本页
返回顶部