Jenkins的文档翻译

官网Jenkins.io

Jenkins用户文档

欢迎来到Jenkins用户文档-为那些想要使用Jenkins的现有功能和插件特性的人。如果你想通过开发自己的Jenkins插件来扩展Jenkins的功能,请参考extend Jenkins(开发者文档)。

詹金斯是什么?

Jenkins是一个独立的、开源的自动化服务器,可用于自动化与构建、测试、交付或部署软件相关的各种任务。Jenkins可以通过本机系统包、Docker安装,甚至可以在安装了Java运行环境(JRE)的任何机器上独立运行。

关于本文档本文档以导览开始,

帮助您启动并运行Jenkins,并向您介绍Jenkins的主要功能,管道。还有一些教程面向那些想要使用Pipeline和Blue Ocean在Jenkins中编排和自动化构建项目的开发人员。如果你以前从未使用过Jenkins或对Jenkins的经验有限,那么导览和介绍性教程是开始的好地方。如果您正在寻找有关使用Jenkins的更多详细信息,请参阅用户手册。

文档的范围

Jenkins是一个高度可扩展的产品,其功能可以通过安装插件来扩展。Jenkins有大量可用的插件。但是,本文档的导览、教程、解决方案页面和用户手册中涵盖的文档是基于安装了蓝海插件的Jenkins安装,以及在安装后安装向导中指定的"建议插件"。Activate

用户手册概述本页提供了Jenkins用户手册文档的概述。

如果你想启动并运行Jenkins,请参见安装Jenkins,了解如何在你所支持的平台上安装Jenkins。如果你是一个典型的Jenkins用户(任何技能水平),想要了解更多关于Jenkins的使用,请参阅Using Jenkins。也可以参考单独的管道和蓝海章节了解更多关于Jenkins核心特性的信息。如果你是一个Jenkins管理员,想了解更多关于管理Jenkins节点和实例的知识,请参阅管理Jenkins。如果你是一个系统管理员,想学习如何备份,恢复,维护Jenkins服务器和节点,请参阅Jenkins系统管理。

安装詹金斯本章中的程序是针对Jenkins的新安装的。

章的小节Jenkins通常在自己的进程中作为独立应用程序运行。Jenkins WAR文件捆绑了Winstone,一个Jetty servlet容器包装器,并且可以在Jenkins支持的Java版本的任何操作系统或平台上启动。码头工人Kubernetes的理论上,Jenkins也可以在传统的servlet容器(如Apache Tomcat或WildFly)中作为servlet运行,但在实践中,这在很大程度上是未经测试的,并且有许多警告。特别是,对WebSocket代理的支持只针对Jetty servlet容器实现。详细信息请参见Servlet容器支持策略页面。Linux macOS Windows其他系统WAR文件其他Servlet容器离线安装初始设置

码头工人Docker是一个平台,

用于在称为"容器"(或Docker容器)的隔离环境中运行应用程序。像Jenkins这样的应用程序可以作为只读"镜像"(或Docker镜像)下载,每个镜像都作为容器在Docker中运行。Docker容器是Docker镜像的"运行实例"。Docker镜像是根据镜像更新的发布时间永久存储的,而容器是临时存储的。在Docker文档中的入门,第1部分:定向和设置中了解更多关于这些概念的信息由于Docker的基础平台和容器设计,给定应用程序(如Jenkins)的Docker镜像可以在任何支持的操作系统或运行Docker的云服务上运行。支持的操作系统包括macOS、Linux和Windows,支持的云服务包括AWS和Azure。

安装码头工人

要在操作系统上安装Docker,请按照guide Tour先决条件中的说明进行操作。或者,访问Docker Hub,选择适合您的操作系统或云服务的Docker Community Edition。按照其网站上的安装说明进行操作。如果您在基于linux的操作系统上安装Docker,请确保您配置了Docker,以便可以以非root用户管理它。在Docker文档的Linux安装后步骤页面中了解更多信息。本页还包含了关于如何配置Docker启动的信息。

先决条件

最低硬件要求:256mb RAM1gb的驱动器空间(虽然如果将Jenkins作为Docker容器运行,建议最小10gb)小型团队的推荐硬件配置:4gb以上的RAM50gb +的驱动器空间全面硬件建议:软件要求:硬件:请参见硬件建议页面Java:请参见Java Requirements页面Web浏览器:请参见"Web浏览器兼容性"页面Windows操作系统:Windows Support Policy Linux操作系统:Linux Support Policy对于servlet容器:servlet容器支持策略

在Docker中下载并运行Jenkins

有几个Jenkins的Docker图像可用。使用Docker Hub存储库中推荐的官方jenkins/jenkins镜像。此图像包含Jenkins的当前长期支持(LTS)版本,该版本已准备好用于生产。然而,这个镜像不包含Docker CLI,也没有与常用的蓝海插件及其功能捆绑在一起。要使用Jenkins和Docker的全部功能,您可能需要完成下面描述的安装过程。我每次jenkins Docker的新版本发布时,都会发布一个新的jenkins/jenkins镜像。您可以在标签页面上看到jenkins/jenkins图像的先前发布版本的列表。

在macOS和Linux上

  1. 打开终端窗口。

  2. 使用Docker network Create命令在Docker中创建网桥网络:

    docker network create jenkins

  3. 为了在Jenkins节点中执行Docker命令,请使用以下Docker run命令下载并运行Docker:dind Docker镜像:

    docker run
    --name jenkins-docker
    --rm
    --detach
    --privileged
    --network jenkins
    --network-alias docker
    --env DOCKER_TLS_CERTDIR=/certs
    --volume jenkins-docker-certs:/certs/client
    --volume jenkins-data:/var/jenkins_home
    --publish 2376:2376
    docker:dind
    --storage-driver overlay2

BASHCopied!

(可选)指定用于运行镜像的Docker容器名称。

默认情况下,Docker为容器生成一个唯一的名称。

(可选)关闭Docker容器(Docker镜像的实例)时会自动移除。

3(可选)在后台运行Docker容器。

你可以通过命令docker stop jenkins-docker来停止这个实例。

在Docker中运行Docker目前需要特权访问才能正常工作。

对于较新的Linux内核版本,这一要求可能会放宽。这与前面步骤中创建的网络相对应。

使Docker容器中的Docker作为主机名在jenkins网络中可用。启用在Docker服务器中使用TLS。

由于使用了特权容器,所以建议这样做,尽管它需要使用下面描述的共享卷。

该环境变量控制管理Docker TLS证书的根目录。

将容器内的/certs/client目录映射到一个名为jenkins-docker-certs的Docker卷。

将容器内的/var/jenkins_home目录映射到名为jenkins-data的Docker卷。

这允许由该Docker容器的Docker守护进程控制的其他Docker容器从Jenkins挂载数据。(可选)公开主机的Docker守护进程端口。

这对于在主机上执行docker命令来控制这个内部docker守护进程非常有用。

11docker:dind映像本身。

在运行之前下载这个镜像,使用命令:docker image pull码头工人:叮。Docker卷的存储驱动程序。请参考Docker存储驱动程序文档了解支持的选项。如果您在复制和粘贴上述命令片段时遇到问题,请使用下面的无注释版本:

复制代码
docker run --name jenkins-docker --rm --detach \
  --privileged --network jenkins --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind --storage-driver overlay2
  1. 通过执行以下两个步骤,定制官方Jenkins Docker镜像:a.创建内容如下的Dockerfile。

    FROM jenkins/jenkins:2.426.2-jdk17
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc
    https://download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=(dpkg --print-architecture) \ signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \ https://download.docker.com/linux/debian \ (lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"

b.从这个Dockerfile中创建一个新的docker镜像,并给这个镜像指定一个有意义的名字,比如"myjenkinsblueocean:2.426.2-1"。

复制代码
docker build -t myjenkins-blueocean:2.426.2-1 .

如果你还没有下载官方的Jenkins Docker镜像,上面的过程会自动为你下载。

  1. 在Docker中使用以下Docker Run命令将myjenkins-blueocean:2.426.2-1镜像作为容器运行:

    docker run
    --name jenkins-blueocean
    --restart=on-failure
    --detach
    --network jenkins
    --env DOCKER_HOST=tcp://docker:2376
    --env DOCKER_CERT_PATH=/certs/client
    --env DOCKER_TLS_VERIFY=1
    --publish 8080:8080
    --publish 50000:50000
    --volume jenkins-data:/var/jenkins_home
    --volume jenkins-docker-certs:/certs/client:ro
    myjenkins-blueocean:2.426.2-1

1(可选)Docker镜像实例对应的Docker容器名称。

2如果容器停止,一定要重新启动它。如果是手动停止,则只有当Docker守护进程重启或容器本身手动重启时才会重启。

3(可选)在后台运行当前容器,称为"detached"模式,并输出容器ID。如果不指定此选项,则在终端窗口中显示该容器的运行Docker日志。

4将此容器连接到先前定义的jenkins网络。Docker守护进程现在可以通过主机名Docker对这个Jenkins容器使用。

5指定docker、docker-compose和其他docker工具在上一步连接到docker守护进程时使用的环境变量将当前容器的8080端口映射或发布到主机上的8080端口。

6第一个数字表示主机上的端口,而最后一个数字表示容器的端口。例如,要通过端口49000访问主机上的Jenkins,请为该选项输入-p 49ee:sese。

7(可选)将当前容器的50000端口映射到主机的50000端口。只有当您在其他机器上设置了一个或多个入站Jenkins代理时才需要这样做,这些代理反过来与您的Jenkins blueocean容器(称为Jenkins"控制器")交互。缺省情况下,入站Jenkins代理通过TCP端口50000与Jenkins控制器通信。您可以通过Security页面更改Jenkins控制器上的端口号。例如,如果您将Jenkins控制器的入站Jenkins代理的TCP端口更新为51000,则需要通过docker runcommand重新运行Jenkins。指定"publish"选项如下:第一个值是Jenkins控制器所在机器上的端口号,最后一个值匹配Jenkins控制器上更改的值,例如------publish 52000:5108e。入站Jenkins代理与该端口上的Jenkins控制器通信(本例中为52000)。注意,WebSocket代理不需要这个配置。

8将容器中的/var/jenkins_home目录映射到名为jenkins-data的Docker卷。除了将/var/jenkins_home目录映射到Docker卷之外,还可以将该目录映射到机器本地文件系统上的一个目录。例如,指定选项------vol SHoME/jenkins:/var/jenkins_hone将容器的/var/jenkins主目录映射到本地机器上SHoME目录下的jenkins子目录-通常是/users/<your-username>/ jenkins或/home/<your-username>/jenkins。注意:如果您为此更改了源卷或目录,则需要更新上述docker:dind容器中的卷以匹配它。

9将/certs/ clent目录映射到前面创建的jenkins-docker-certs卷。连接Docker守护进程所需的客户端TLS证书现在可以在DocKER_cERT_PATH环境变量指定的路径中获得。

10在上一步中创建的Docker镜像的名称。The IP

如果您在复制和粘贴命令片段时遇到问题,请使用下面的无注释版本:

复制代码
docker run --name jenkins-blueocean --restart=on-failure --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  myjenkins-blueocean:2.426.2-1
  1. 进入安装后设置向导。

在Windows上

Jenkins项目提供了一个Linux容器镜像,而不是Windows容器镜像。确保您的Docker for Windows安装配置为运行Linux容器而不是Windows容器。有关切换到Linux容器的说明,请参阅Docker文档。一旦配置为运行Linux容器,步骤如下:1. 打开命令提示符窗口,类似于上面的macOS和Linux指令,执行以下操作:2. 在Docker中创建一个桥接网络

复制代码
docker network create jenkins
  1. 运行docker:dind docker image

    docker run --name jenkins-docker --rm --detach ^
    --privileged --network jenkins --network-alias docker ^
    --env DOCKER_TLS_CERTDIR=/certs ^
    --volume jenkins-docker-certs:/certs/client ^
    --volume jenkins-data:/var/jenkins_home ^
    --publish 2376:2376 ^
    docker:dind

  2. 通过执行以下两个步骤,定制官方Jenkins Docker镜像:a.创建内容如下的Dockerfile。

    FROM jenkins/jenkins:2.426.2-jdk17
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc
    https://download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=(dpkg --print-architecture) \ signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \ https://download.docker.com/linux/debian \ (lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"

b.从这个Dockerfile中创建一个新的docker镜像,并给这个镜像指定一个有意义的名字,例如:"myjenkinsblueocean: 2.426.2-1":

复制代码
docker build -t myjenkins-blueocean:2.426.2-1 .

如果你还没有下载官方的Jenkins Docker镜像,上面的过程会自动为你下载。

  1. 在Docker中运行你自己的nyjenkins-blueocean: 2.426.2-1镜像作为容器,使用以下Docker Run命令:

    docker run --name jenkins-blueocean --restart=on-failure --detach ^
    --network jenkins --env DOCKER_HOST=tcp://docker:2376 ^
    --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 ^
    --volume jenkins-data:/var/jenkins_home ^
    --volume jenkins-docker-certs:/certs/client:ro ^
    --publish 8080:8080 --publish 50000:50000 myjenkins-blueocean:2.426.2-1

  2. 继续安装向导。

访问Docker容器

如果你想通过终端/命令提示符使用Docker exec命令访问你的Docker容器,在Docker exec命令中添加一个选项,比如------name jenkins-tutorial。这将访问名为"Jenkins -tutorial"的Jenkins Docker容器。你可以使用docker exec命令访问你的docker容器(通过一个单独的终端/命令提示窗口),例如:码头经理-詹金斯-蓝海舞会

访问Docker日志

您可能想要访问Jenkins控制台日志,例如,当解锁Jenkins作为安装后设置向导的一部分时。通过执行docker run -l命令的终端/命令提示窗口访问Jenkins控制台日志。或者,你也可以使用以下命令通过容器的Docker日志访问Jenkins控制台日志:Docker日志< Docker -container-name><docker-container-name>可通过docker ps命令获取。

访问Jenkins主目录

例如,您可以访问Jenkins主目录,以检查工作区子目录中Jenkins构建的详细信息。如果您将Jenkins主目录(/var/Jenkins_home)映射到您机器的本地文件系统,例如,在上面的docker run命令中,通过您机器通常的终端/命令提示符访问目录内容。如果你在docker run -命令中指定了------volume Jenkins-data:/var/jenkins_hone选项,那么通过容器的终端/命令提示符,使用docker container exec命令访问Jenkins主目录的内容:Docker容器执行-it < Docker -container-name> bash根据上一节,使用docker container is命令获取<docker-container- name >。如果你在docker容器中指定了------l name Jenkins -blueocean选项,运行上面的命令(如果需要,请参考访问Jenkins/Blue Ocean docker容器),使用docker container exec命令:Docker容器执行器- jenkins-blueocean bash

安装后安装向导

在下载、安装并使用上述程序之一运行Jenkins之后(使用Jenkins Operator安装除外),安装后设置向导开始这个设置向导带你通过几个快速的"一次性"步骤来解锁Jenkins,用插件自定义它,并创建第一个管理员用户,通过这个用户你可以继续访问Jenkins。

解锁詹金斯

当您第一次访问一个新的Jenkins实例时,系统会要求您使用自动生成的密码解锁它。1. 浏览到http://localhost:sese(或安装时为Jenkins配置的任何端口),等待直到解锁Jenkins页面出现。

有道确实很快,牛逼的很

  1. 从Jenkins控制台日志输出中,复制自动生成的字母数字密码(在两组星号之间)

注意:命令:sudo cat /var/lib/jenkins/secrets/initialAdminPassword将在控制台中打印密码。如果你在Docker中使用官方Jenkins / Jenkins镜像运行Jenkins,你可以使用sudo Docker exec${CONTAINER_ID或CONTAINER_NAME) cat /var/ jenkins_home /secrets/initialAdminPassword在控制台上打印密码,而无需执行到容器中。3. 在解锁Jenkins页面上,将此密码粘贴到Administrator密码字段中,然后单击Continue。注意:Jenkins控制台日志指出了该密码也可以获得的位置(在Jenkins主目录中)。这个密码必须在新的Jenkins安装向导中输入,然后才能访问Jenkins的主ui。如果您在安装向导中跳过后续的用户创建步骤,这个密码还可以作为默认管理员帐户的密码(用户名为"admin")。

定制Jenkins插件

解锁Jenkins后,进入自定义Jenkins页面。在这里,您可以安装任意数量的有用插件作为初始设置的一部分。单击显示的两个选项之一:安装建议的插件------安装推荐的插件集,这是基于最常见的用例。选择要安装的插件---选择最初安装哪一组插件。当您第一次访问插件选择页面时,默认情况下会选择建议的插件。如果您不确定需要什么插件,请选择"安装建议的插件"。您可以安装(或删除)额外的Jenkins插件在稍后的时间点通过管理Jenkins >插件页面在Jenkins。安装向导显示了正在配置的Jenkins的进度和正在安装的Jenkins插件的选择集。这个过程可能需要几分钟。

搞不动了,自己官网看去吧

相关推荐
林姜泽樾1 小时前
Linux入门第十二章,创建用户、用户组、主组附加组等相关知识详解
linux·运维·服务器·centos
月月玩代码1 小时前
Actuator,Spring Boot应用监控与管理端点!
java·spring boot·后端
xiaokangzhe2 小时前
Linux系统安全
linux·运维·系统安全
xiaokangzhe2 小时前
Nginx核心功能
运维·nginx
松果1772 小时前
以本地时钟为源的时间服务器
运维·chrony·时间服务器
阿珍爱上了阿强,在一个有星星的夜晚2 小时前
node后端页面性能监测分析
java·学习方法
Java程序之猿2 小时前
SpringBoot + camel+IBM MQ实现消息队列处理
java·spring boot·mybatis
Highcharts.js3 小时前
Highcharts React v4.2.1 正式发布:更自然的React开发体验,更清晰的数据处理
linux·运维·javascript·ubuntu·react.js·数据可视化·highcharts
ayaya_mana3 小时前
快速安装Nginx-UI:让Nginx管理可视化的高效方案
运维·nginx·ui