Docker 安装Jenkins全过程及踩坑指南

下面是“Docker 安装Jenkins全过程及踩坑指南”的完整攻略。

安装 Docker

首先我们需要安装 Docker,这里我以 Ubuntu 18.04 为例:

$ sudo apt update
$ sudo apt install docker.io

安装完成后,我们可以通过运行 docker -v 命令来检查它是否已成功安装。

启动 Jenkins 容器

接下来,我们可以使用 Docker 来启动 Jenkins 的容器。首先,我们需要在本地创建一个数据卷,它将负责将 Jenkins 的数据存储在本地主机上。

$ docker volume create jenkins_home

然后,我们可以通过运行以下命令来启动 Jenkins 的容器:

$ docker run -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  --name jenkins \
  jenkins/jenkins:lts

这将下载并启动一个名为 jenkins 的 Docker 容器,容器映射了两个端口:8080 端口用于在浏览器中访问 Jenkins UI,50000 端口用于构建代理。容器还将使用之前创建的数据卷 jenkins_home 来存储 Jenkins 数据。

运行上述命令后,您应该能够通过浏览器访问 http://localhost:8080 来访问 Jenkins UI,您将看到一个初始设置向导。

Jenkins 初始设置向导

在首次访问 Jenkins UI 时,系统将提示您完成一个初始设置向导。

第一步:解锁 Jenkins

首先需要输入初始管理员密码以解锁 Jenkins。此管理员密码存储在容器日志中,您可以使用以下命令来访问它:

$ docker logs jenkins

搜索输出以 Jenkins initial setup is required. 开头的行。下一行将包含您需要的密码。

然后,将密码复制到 UI 上输入框中,然后单击“继续”。

第二步:自定义 Jenkins

从这里开始,您可以根据自己的首选项自定义 Jenkins。您可以选择安装建议的插件或选择自己需要的插件。

第三步:创建管理员用户

在这一步中,您需要创建一个管理员用户来管理 Jenkins 实例。输入您的姓名、邮箱和密码,然后点击“保存并继续”。

第四步:Jenkins URL

最后一步是设置 Jenkins URL。这通常是 Jenkins 实例的根 URL,可以使用默认值,然后单击“保存并完成”按钮。

问题排除

如果您在使用 Jenkins 过程中遇到问题,以下是一些可能的排查步骤:

检查 Docker 容器状态

使用以下命令检查 Jenkins 容器的状态:

$ docker ps -a

如果状态不是“Up”状态,请使用以下命令启动 Jenkins 容器:

$ docker start jenkins

检查容器日志

使用以下命令来查看 Jenkins 容器日志:

$ docker logs jenkins

这可能有助于确定问题所在。

检查是否使用正确端口

请确保使用正确的端口来访问 Jenkins UI,这可能包括检查您的防火墙是否配置正确。

示例说明

示例1:自定义 Jenkins 镜像

构建自定义 Jenkins 镜像的过程非常简单。只需创建一个 Dockerfile 文件并构建该镜像即可。

  1. 创建一个名为 Dockerfile 的文件。
$ vi Dockerfile
  1. 向该文件添加以下内容以基于 Jenkins 官方镜像并添加常见插件:
FROM jenkins/jenkins:lts

# This will skip the initial setup wizard
ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false

# Install plugins
RUN jenkins-plugin-cli --plugins "blueocean:1.24.1 credentials-binding:1.24 git:4.5.0"
  1. 保存该文件并使用以下命令构建该镜像:
$ docker build -t my-jenkins:v1 .
  1. 启动基于该镜像的 Jenkins 容器:
$ docker run -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  --name my-jenkins \
  my-jenkins:v1

示例2:使用 GitLab 等外部代码库

如果您的 Jenkins 实例需要与外部代码库(如 GitLab)集成,请遵循以下步骤:

  1. 安装 GitLab 插件,并重启 Jenkins 实例。

  2. 在 Jenkins 实例中,导航到“系统管理”、“全局安全配置”、“GitLab 徽章”。

  3. 勾选“启用 GitLab 徽章”复选框。

  4. 在 GitLab 的项目中添加 Jenkinsfile。

  5. 在 Jenkins 中创建一个名为 my-pipeline 的“流水线”工程。

  6. 在 “流水线” 工程中配置 GitLab 仓库地址和 Jenkinsfile 文件路径等信息。

  7. 触发并查看此流水线的构建情况和输出结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker 安装Jenkins全过程及踩坑指南 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Github Copilot的申请以及在Pycharm的配置与使用详解

    Github Copilot是一款基于人工智能的代码助手,可以帮助开发者自动生成代码,提高开发效率。下面是Github Copilot的申请以及在Pycharm的配置与使用详解的完整攻略。 Github Copilot的申请 首先需要在Github上有一个账号和一个免费的仓库。 然后访问 Github Copilot 官网 申请加入等待队列。需要填写的信息包…

    GitHub 2023年5月16日
    00
  • 执行go vendor第三方包版本冲突问题解决

    当我们在开发一个Go项目时,一般都会用到许多第三方的包。在引入这些包时,往往会存在版本管理的问题。例如,我们项目中使用的两个不同的第三方包,版本号分别是v1.0和v1.2,但是它们依赖的第三方包是相同的,而且版本号也不一致。这就会造成版本冲突的问题,导致我们的项目编译时出现错误。 为了解决这个问题,有许多方法。一个常见的方法是使用Go Modules来管理依…

    GitHub 2023年5月16日
    00
  • Android MaterialButton使用实例详解(告别shape、selector)

    下面详细讲解一下“Android MaterialButton使用实例详解(告别shape、selector)”的完整攻略,过程中包含两条示例说明。 Android MaterialButton使用实例详解(告别shape、selector) 什么是MaterialButton MaterialButton是Android Material Design中的…

    GitHub 2023年5月16日
    00
  • 如何使用工具规范前端项目的commits与changelog技巧

    针对“如何使用工具规范前端项目的commits与changelog技巧”,我可以提供以下完整攻略: 1. 使用工具规范commits 在实际开发中,我们需要维护一份清晰的 commit history,为团队成员和其他开发者提供更好的阅读体验。下面介绍两个常用的工具,它们可以帮助我们更好地规范 commits。 1.1 commitlint commitli…

    GitHub 2023年5月16日
    00
  • Pycharm github配置实现过程图解

    我来为您讲解 PyCharm 配置 GitHub 的方法和过程。 1. 创建 GitHub 账号 首先,您需要去 GitHub 官网上注册一个自己的账号,具体操作可以参考 GitHub 的官方文档。 2. 配置 SSH 密钥 在 PyCharm 中使用 GitHub 前需要先在 GitHub 上配置 SSH 密钥。具体步骤如下: 打开 PyCharm,然后点…

    GitHub 2023年5月16日
    00
  • java开源好用的简繁转换类库推荐

    针对这个主题,我可以为您提供以下完整攻略和两个示例说明: Java开源好用的简繁转换类库推荐 什么是简繁转换? 简繁转换就是将一段文字从繁体字转换为简体字,或者从简体字转换为繁体字。在中国大陆以及台湾、香港地区,简繁转换是一个非常重要的功能,在许多场合都必须有此功能。比如,在网站、移动应用、文本编辑器、微信公众号等地方,都需要对文本内容进行中文简繁转换。 本…

    GitHub 2023年5月16日
    00
  • Vue github用户搜索案例分享

    下面我会详细讲解“Vue github 用户搜索案例分享”的完整攻略并附带两条示例说明。 简介 本次分享的案例是一个基于 Vue.js 的 Github 用户搜索应用,借助 Github 的公共 API 实现了在搜索框中输入用户名后可查看该用户的 Github 账号信息以及其仓库列表。 技术栈 Vue.js:构建用户界面的 MVVM 框架,核心思想是响应式编…

    GitHub 2023年5月16日
    00
  • vue中使用gojs/jointjs的示例代码

    我来为你讲解一下“vue中使用gojs/jointjs的示例代码”的完整攻略,包含以下两条示例说明: 在Vue中使用GoJS 首先需要在Vue项目中安装GoJS库,可以通过npm安装: npm install gojs 安装后,在Vue组件中引入GoJS库,并在mounted钩子函数中初始化并渲染GoJS Diagram: import * as go fr…

    GitHub 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部