搭建jenkins构建环境(开源CI&CD软件领导者)

在macOS和Linux上linux

  1. 打开一个终端窗口。docker

  2. 下载 jenkinsci/blueocean 镜像并使用如下docker run 命令将其做为Docker中的容器运行 :macos

    docker run \
      -u root \
      --rm \  
      -d \ 
      -p 8080:8080 \ 
      -p 50000:50000 \ 
      -v jenkins-data:/var/jenkins_home \ 
      -v /var/run/docker.sock:/var/run/docker.sock \ 
      jenkinsci/blueocean
      (可选) jenkinsci/blueocean 关闭时自动删除Docker容器(下图为实例)。若是您须要退出Jenkins,这能够保持整洁。
      (可选)jenkinsci/blueocean 在后台运行容器(即“分离”模式)并输出容器ID。若是您不指定此选项, 则在终端窗口中输出正在运行的此容器的Docker日志。
      映射(例如“发布”)jenkinsci/blueocean 容器的端口8080到主机上的端口8080。 第一个数字表明主机上的端口,而最后一个表明容器的端口。所以,若是您为此选项指定 -p 49000:8080 ,您将经过端口49000访问主机上的Jenkins。
      (可选)将 jenkinsci/blueocean 容器的端口50000 映射到主机上的端口50000。 若是您在其余机器上设置了一个或多个基于JNLP的Jenkins代理程序,而这些代理程序又与 jenkinsci/blueocean 容器交互(充当“主”Jenkins服务器,或者简称为“Jenkins主”), 则这是必需的。默认状况下,基于JNLP的Jenkins代理经过TCP端口50000与Jenkins主站进行通讯。 您能够经过“ 配置全局安全性” 页面更改Jenkins主服务器上的端口号。若是您要将您的Jenkins主机的JNLP代理端口的TCP端口 值更改成51000(例如),那么您须要从新运行Jenkins(经过此 docker run …​命令)并指定此“发布”选项 -p 52000:51000,其中最后一个值与Jenkins master上的这个更改值相匹配,第一个值是Jenkins主机的主机上的端口号, 经过它,基于JNLP的Jenkins代理与Jenkins主机进行通讯 - 例如52000。
      (可选,但强烈建议)映射在容器中的`/var/jenkins_home` 目录到具备名字 jenkins-data 的volume。 若是这个卷不存在,那么这个 docker run 命令会自动为你建立卷。 若是您但愿每次从新启动Jenkins(经过此 docker run ... 命令)时保持Jenkins状态,则此选项是必需的 。 若是你没有指定这个选项,那么在每次从新启动后,Jenkins将有效地重置为新的实例。
    注意: 所述的 jenkins-data 卷也能够 docker volume create命令建立: docker volume create jenkins-data 代替映射 /var/jenkins_home 目录转换为Docker卷,还 能够将此目录映射到计算机本地文件系统上的目录。 例如,指定该选项 -v $HOME/jenkins:/var/jenkins_home 会将容器的 /var/jenkins_home 目录映射 到 本地计算机上目录中的 jenkins 子目录, 该$HOME目录一般是 /Users/<your-username>/jenkins 或`/home/<your-username>/jenkins` 。
      (可选 /var/run/docker.sock 表示Docker守护程序经过其监听的基于Unix的套接字。 该映射容许 jenkinsci/blueocean 容器与Docker守护进程通讯, 若是 jenkinsci/blueocean 容器须要实例化其余Docker容器,则该守护进程是必需的。 若是运行声明式管道,其语法包含agent部分用 docker
    • 例如, agent { docker { ... } } 此选项是必需的。 在Pipeline Syntax 页面上阅读更多关于这个的信息 。浏览器

      jenkinsci/blueocean Docker镜像自己。若是此镜像还没有下载,则此 docker run 命令 将自动为您下载镜像。此外,若是自上次运行此命令后发布了此镜像的任何更新, 则再次运行此命令将自动为您下载这些已发布的镜像更新。 注意:这个Docker镜像也可使用如下 docker pull命令独立下载(或更新) : docker pull jenkinsci/blueocean 注意: 若是复制并粘贴上面的命令片断不起做用,请尝试在此处复制并粘贴此无注释版本:
    docker run \
      -u root \
      --rm \
      -d \
      -p 8080:8080 \
      -p 50000:50000 \
      -v jenkins-data:/var/jenkins_home \
      -v /var/run/docker.sock:/var/run/docker.sock \
      jenkinsci/blueocean
  3. 继续按照Post-installation setup wizard安装。安全

在Windows上bash

  1. 打开命令提示符窗口。服务器

  2. 下载 jenkinsci/blueocean 镜像并使用如下 docker run 命令将其做为Docker中的容器运行 :spa

    docker run ^
      -u root ^
      --rm ^
      -d ^
      -p 8080:8080 ^
      -p 50000:50000 ^
      -v jenkins-data:/var/jenkins_home ^
      -v /var/run/docker.sock:/var/run/docker.sock ^
      jenkinsci/blueocean

    有关这些选项的解释,请参阅上面的在macOS和Linux上插件

  3. 继续按照Post-installation setup wizard安装。3d

访问Jenkins / Blue Ocean Docker容器

若是您对Docker有一些经验,而且您但愿或须要 jenkinsci/blueocean 经过 命令提示符经过终端/命令提示符访问docker exec ,则能够添加一个选项 --name jenkins-blueocean(如 docker run 所述),这会为 jenkinsci/blueocean 容器命名为 "jenkins-blueocean" 。

这意味着你可使用以下命令访问容器(经过单独的终端/命令提示符窗口) :

docker exec -it jenkins-blueocean bash

经过Docker日志访问Jenkins控制台日志

您可能须要访问Jenkins控制台日志。例如,在解锁 Jenkins 做为安装后设置向导的一部分时。

若是没有指定分离模式选项 -d 与 docker run ... 命令以上, 那么Jenkins控制台日志是经过终端方便/命令从中运行此Docker命令提示符窗口。

不然,您能够经过访问Jenkins控制台日志 Docker logs中 的 jenkinsci/blueocean ,使用如下命令:

docker logs <docker-container-name>

Your <docker-container-name> can be obtained using the docker ps command. If you specified the
--name jenkins-blueocean option in the docker run ... command above (see also Accessing the Jenkins/Blue Ocean Docker container), you can simply use the docker logs command:

您的 <docker-container-name> 可使用docker ps 命令得到 。若是您在上述 docker run ...`命令中指定了 `--name jenkins-blueocean 参数(请参阅访问Jenkins/Blue Ocean Docker容器) ,则只需使用如下 docker logs 命令:

docker logs jenkins-blueocean

访问Jenkins主目录

例如,您可能须要访问Jenkins主目录,以查看 workspace 子目录中Jenkins版本的详细信息。

若是您将Jenkins主目录( /var/jenkins_home )映射到您计算机 本地文件系统上的一个目录(如上面的 docker run ... 命令 ), 那么您能够经过计算机经常使用的终端/命令提示符访问此目录的内容。

不然,若是您在 docker run ... 命令里指定了 -v jenkins-data:/var/jenkins_home 选项, 则能够 jenkinsci/blueocean 使用如下 docker exec 命令经过容器的终端/命令提示符访问Jenkins主目录的内容:

docker exec -it <docker-container-name> bash

上面所提到, 您的 <docker-container-name> 可使用来得到 docker ps 命令。若是您在 docker run ... 中指定了 --name jenkins-blueocean 该选项(也可参照 访问Jenkins / Blue Ocean Docker容器)), 则只需使用如下 docker exec 命令:

docker exec -it jenkins-blueocean bash

 

安装后设置向导

下载安装并运行Jenkins后,即将开始进入安装向导。

此安装向导会引导您完成几个快速“一次性”步骤来解锁Jenkins, 使用插件对其进行自定义,并建立第一个能够继续访问Jenkins的管理员用户。

解锁 Jenkins

当您第一次访问新的Jenkins实例时,系统会要求您使用自动生成的密码对其进行解锁。

  1. 浏览到 http://localhost:8080(或安装时为Jenkins配置的任何端口),并等待 解锁 Jenkins 页面出现。

Unlock Jenkins page

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

Copying initial admin password

  1. 在 解锁Jenkins 页面上,将此 密码 粘贴到管理员密码字段中,而后单击 继续 。

Notes:

  • 若是您以分离模式在Docker中运行Jenkins,则能够从Docker日志(above) 访问Jenkins控制台日志。

  • Jenkins控制台日志显示能够获取密码的位置(在Jenkins主目录中)。 必须在新Jenkins安装中的安装向导中输入此密码才能访问Jenkins的主UI。 若是您在设置向导中跳过了后续的用户建立步骤, 则此密码还可用做默认admininstrator账户的密码(使用用户名“admin”)

自定义jenkins插件

解锁 Jenkins以后,在 Customize Jenkins 页面内, 您能够安装任何数量的有用插件做为您初始步骤的一部分。

两个选项能够设置:

  • 安装建议的插件 - 安装推荐的一组插件,这些插件基于最多见的用例.

  • 选择要安装的插件 - 选择安装的插件集。当你第一次访问插件选择页面时,默认选择建议的插件。

  若是您不肯定须要哪些插件,请选择 安装建议的插件 。 您能够经过Jenkins中的Manage Jenkins > Manage Plugins 页面在稍后的时间点安装(或删除)其余Jenkins插件 。

设置向导显示正在配置的Jenkins的进程以及您正在安装的所选Jenkins插件集。这个过程可能须要几分钟的时间

建立第一个管理员用户

最后,在customizing Jenkins with plugins以后,Jenkins要求您建立第一个管理员用户。 . 出现“ 建立第一个管理员用户 ”页面时, 请在各个字段中指定管理员用户的详细信息,而后单击 保存完成 。 . 当 Jenkins准备好了 出现时,单击*开始使用 Jenkins*。

Notes: * 这个页面可能显示 Jenkins几乎准备好了! 相反,若是是这样,请单击 重启 。 * 若是该页面在一分钟后不会自动刷新,请使用Web浏览器手动刷新页面。若是须要,请使用您刚刚建立的用户的凭据登陆到Jenkins,并准备好开始使用Jenkins!

  从这时起,Jenkins用户界面只能经过提供有效的用户名和密码凭证来访问。

官网地址:https://jenkins.io/zh/

相关文章
相关标签/搜索