创建流水线

Blue Ocean 能够更容易的在Jenkins中创建一个流水线。

流水线可以由源代码控制中存在的Jenkinsfile 生成, 或者使用 Blue Ocean 流水线编辑器 生成一个新的流水线(作为 Jenkinsfile 会提交到源代码控制中)。

配置流水线项目

要在 Blue Ocean中开始配置你的流水线项目, 在Blue Ocean Dashboard的右上方, 点击 New Pipeline 按钮。

_New Pipeline Button_

如果你的Jenkins 实例是新生成的或者没有流水线项目或其他的配置项(仪表盘是空的), Blue Ocean显示 Welcome to Jenkins 消息框 ,你可以点击 Create a new Pipeline 按钮来开始配置你的流水线项目。

_Welcome to Jenkins - Create a New Pipeline message box_

现在,你要从下面选择一个创建你的流水线项目:

Git仓库

要为git仓库创建你的流水线项目, 点击 Where do you store your code?下的 Git 按钮。

_Where do you store your code_

Connect to a Git repository 部分, 在Repository URL字段输入你的Git仓库的 URL 。

_Connect to a Git repository_

现在,你要指定 本地远程 仓库,构建你的流水线项目。

本地仓库

如果你的 URL 是本地目录路径 (比如以一个正斜杠 /开头 比如</code>/home/cloned-git-repos/my-git-repo.git),你要继续点击Create Pipeline 按钮。

之后,Blue Ocean 会扫描你本地仓库的分支来获得 Jenkinsfile,并将为每个包含Jenkinsfile的分支运行流水线。 如果Blue Ocean 找不到任何 Jenkinsfile, 将提示你开始通过流水线编辑器创建一个。

远程仓库

由于流水线编辑器将经过编辑的流水线作为 Jenkinsfile 保存到 Git 仓库, Blue Ocean 只支持通过SSH协议连接到远程Git仓库。

如果你的 URL 是远程 Git 仓库的路径, 当你开始输入URL时, 你可以从以下两种方式开始:

  • ssh:// - 例如ssh://gituser@git-server-url/git-server-repos-group/my-git-repo.git

  • user@host:path/to/git/repo.git - 例如gituser@git-server-url:git-server-repos-group/my-git-repo.git,

Blue Ocean 自动生成一个 SSH 公共/私有密钥对 (或提供已存在的一个) 作为你当前/登录的 Jenkins 用户。该凭证自动地注册,为该Jenkins用户提供以下详细信息:

  • Domain: blueocean-private-key-domain

  • ID: jenkins-generated-ssh-key

  • Name: <jenkins-username> (jenkins-generated-ssh-key)

你要确保 SSH 公共/私有秘钥对在继续之前已经被注册到你的Git服务器。如果没有,遵循下面的 2 个步骤。否则, 继续

  • 配置这个密钥对的 SSH 公钥组件(你可以从 Blue Ocean界面复制粘贴),用于远程 Git 服务器的用户账户(比如在机器的gituser/.ssh目录的 authorized_keys 文件中)。Note: 该进程允许 Jenkins 用户访问你的Git服务器的用户账户 (比如 gituser)能够访问到的仓库。了解更多请参考Pro Git documentationSetting Up the Server

  • 完成后, 回到Blue Ocean 界面。

点击Create Pipeline 按钮。

之后,Blue Ocean 会扫描过本地仓库的分支来获得 Jenkinsfile并开始为每个包含 Jenkinsfile的分支运行流水线。 如果 Blue Ocean 找不到任何Jenkinsfile, 将会提示你通过 流水线编辑器开始创建一个。

GitHub仓库

要为gitHuB上的存储库直接创建流水线项目, 点击Where do you store your code?**下的GitHub** 按钮。

_Where do you store your code_

Connect to GitHub 部分的Your GitHub access token字段, 输入你的 GitHub 访问令牌。+如果你之前配置过 Blue Ocean,使用个人的访问令牌连接到 GitHub , Blue Ocean 直接带你到下面的选择 GitHub 账户/组织和存储库步骤。

_Connect to GitHub_

如果你没有 GitHub 访问令牌, 点击 Create an access key here链接打开New personal access token 页面。

创建访问令牌

  • 在一个新的选项卡中, 登录 GitHub 账户 (如果需要的话) 并且在GitHub的 New Personal Access Token 页面,为你的GirHub访问令牌 (e.g. Blue Ocean)输入一个简短的 Token descriptionNote: 访问令牌通常是一个字母数字字符串,它通过你的GitHub 账户对你的GitHub账户访问各种特性和区域的权限进行相应的处理。新的访问令牌过程 (通过上面的 Create an access key here 链接触发) 具有预选的合适权限, Blue Ocean 需要访问你的GitHub账户并与其进行交互。

  • 向下滚动直到页面的末尾,然后点击 Generate token

  • 在生成的 Personal access tokens 页面, 复制新生成的访问令牌。

  • 回到Blue Ocean, 粘贴访问令牌到 Your GitHub access token字段并点击 Connect。你当前/登陆的Jenkins用户现在可以访问 GitHub a账户(由你的访问令牌提供), 所以你现在可以选择 GitHub 账户/组织和存储库。Jenkins 为Jenkins用户注册了带有以下详细信息的凭证:

  • Domain: blueocean-github-domain

  • ID: github

  • Name: <jenkins-username>/** (GitHub Access Token)

选择 GitHub 账户/组织和存储库

此时, Blue Ocean 提示你选择 GitHub 账户或你所在的组织, 以及它包含的用于构建你流水线项目的存储库

  • Which organization does the repository belong to? 部分, 点击:
  • 你的 GitHub 账户为你自己的 GitHub仓库中的或GitHub的其他地方创建流水线项目。

  • 你所在的组织为组织内的GitHub仓库创建流水线项目。

  • Choose a repository 部分, 点击存储库 (在你 GitHub账户或组织内) ,从而构建你的流水线项目。Tip:如果你的仓库的列表很长, 你可以使用 Search 选项来筛选这个列表。

_Choose a repository_

  • 点击 Create Pipeline。 Blue Ocean 将会扫描你本地仓库的分支来获得 Jenkinsfile 并为每个包含 Jenkinsfile 的分支运行流水线。 如果Blue Ocean 找不到任何 Jenkinsfile, 会提示你通过 流水线编辑器 (通过再次点击 Create Pipeline)创建一个。Note: U在引擎下, 通过Blue Ocean创建的流水线项目实际上是"多分支流水线"。因此, Jenkins在你仓库的任何分支中寻找至少一个Jenkinsfile 。

Bitbucket Cloud的存储库

为了直接在Bitbucket Cloud上为Git 或 Mercurial 存储库创建流水线项目, 点击 Where do you store your code?Bitbucket Cloud 按钮

_Where do you store your code_

Connect to Bitbucket 部分的UsernamePassword字段, 分别输入 Bitbucket 邮箱地址和密码。注意:

  • 如果你之前配置过 Blue Ocean,使用你的email地址和密码连接到Bitbucket , Blue Ocean就会直接将你带到下面的选择Bitbucket 账户/团队和存储库步骤。

  • 如果你输入这些凭证, Jenkins就会为Jenkins用户使用下面的信息进行注册:

  • Domain: blueocean-bitbucket-cloud-domain

  • ID: bitbucket-cloud

  • Name: <bitbucket-user@email.address>/** (Bitbucket server credentials)

_Connect to Bitbucket_

点击 Connect,你当前/登陆的Jenkins用户将会访问你的Bitbucket 账户。现在,你可以选择Bitbucket 账户/团队和存储库

选择 Bitbucket 账户/团队和仓库

在这里, Blue Ocean提示你选择 Bitbucket 账户或你所在的团队, 以及它包含的构建你的流水线项目的仓库。

  • Which team does the repository belong to? 部分, 点击:
  • Bitbucket 账户为你的或从Bitbucket的其他地方fork的Bitbucket 仓库创建流水线项目。

  • 你所在的团队为该团队内的仓库创建流水线项目。

  • Choose a repository 部分, 点击存储库 (在你的Bitbucket 账户或团队中) 来构建你的流水线项目。Tip: 如过你的仓库列表太长,你可以使用Search 选项过滤该列表。

_Choose a repository_

  • 点击 Create Pipeline。Blue Ocean就会扫描你本地仓库的分支来获取 Jenkinsfile, 并为每一个含有 Jenkinsfile 的分支开始运行流水线。 如果Blue Ocean找不到任何 Jenkinsfile, 会提示你 通过 流水线编辑器 (通过再次点击 Create Pipeline )创建一个。+ Note: 在引擎下, 通过 Blue Ocean创建的流水线项目实际上是 "多分支流水线"。因此, Jenkins 在存储库的任何分支中寻找至少一个Jenkinsfile。