开始介绍

This document provides a step-by-step tutorial for getting your first successful (green) build on CircleCI.

运行第一个生成的先决条件

  • 一些基本知识的Git。
  • 您已登录的GitHub或Bitbucket帐户。我们将使用GitHub进行本指南,但如果需要,您可以遵循Bitbucket的等效流程。
  • 关于CircleCI的报道。
  • Some basic terminal or抨击使用命令行的知识和经验是有帮助的。

Creating a repository

首先在GitHub上创建新存储库。如果您打算使用现有存储库,则可以跳过此部分。

  1. 导航到GitHub并创建新存储库
  2. 输入存储库的名称,在这种情况下,“Hello-World”,然后单击Initialize this repository with a README。Finally, click创建存储库

Creating a Repository

Setting up CircleCI

If you have not yet, create an account on CircleCI by navigating to注册页面点击Sign Up with GitHub

  1. 导航到CircleCIProject Page
  2. 如果您是任何组织的一部分,则需要选择希望在其下工作的组织,以便使用CircleCI设置存储库。
  3. Once on the Project page, find the project you are using, in our case你好,世界, and click设置项目

  4. 在下面的屏幕上,从下拉列表中选择一种语言以获取预填充的配置yml为您的项目提交建议的最佳实践。对于本例,因为我们有一个空的存储库,所以我们将使用你好,世界列表底部的配置示例。

    获取示例配置

    注:根据您选择的语言,您可以在屏幕右侧的侧边栏中查看相关文档

  5. 点击开始构建和follow the prompt to add your config to a new branch and start your first pipeline.注:也可以手动添加配置yml到你的项目根目录circleci先生folder and push this to your VCS provider.

    自动提交

  6. You will be taken to the Pipelines page where you can view your newly running build.

挖掘你的第一条管道

You should see your pipeline start to run automatically—and pass! So, what just happened? Click on the greenSuccess管道上的按钮来调查运行的以下部分:

First Successful Pipeline

  1. 运行了哪些工作流?:单击后Success, we are taken to a page listing the jobs that ran. If this is your first build, you probably only ran一份工作(自动在内部运行)一个工作流程). 在我们的情况下,我们只做了一件事,叫欢迎/跑步。点击on欢迎/跑步让我们研究一下我们工作的步骤。

    Investigate build

  2. Spin up environment:CircleCI使用了orto help provide some defaults for this project. By using an orb, we can get quick access to common configuration. In this case,圆环/欢迎球体@0.4.1提供“预构建的”作业,您可以运行它只是迎接用户。

  3. 查看步骤结果:Every job is made up of a series of steps - some steps, like查看在CircleCI中是特殊的保留命令。其他步骤由用户指定以实现特定目的。因为我们用的是欢迎ORB,我们没有看到自定义步骤;它们在ORB中配置。但没问题!我们可以查看ORB的来源在线。

Even though there was no actual source code in your repo, and no actual tests configured in your配置yml, CircleCI considers your build to have “succeeded” because all steps completed successfully (returned anexit code第0页)。大多数项目要复杂得多,通常有多个Docker映像和多个步骤,包括大量的测试。你可以了解更多关于所有可能的步骤,一个人可以把一个配置yml文件在配置参考

打破你的建版!

Let’s get a bit more complex. Let’s edit ourcircleci先生/config.ymlfile now. On GitHub, it is possible to edit files directly. Use the URL below and substitute the name of your repository and username (replace the text with{brackets}) and then paste it in your browser. If you are already familiar with Git, use your text-editor and push your changes with git.

https://github.com/{username}/{repo}/edit/circleci项目设置/.circleci/配置yml

Let’s use theNode orb。粘贴到你的下面配置yml

version:2.1ors:节点:圆环/节点@1.1jobs:建立:executor:名称:节点/default标签:'10.4'步骤:-查看-节点/with-cache:步骤:-运行:npm install-运行:npm运行测试

Then, commit your change in the GitHub editor and return to the Projects page in CircleCI. You should see a new pipelines running… and it will fail! What’s going on?

节点ORB运行一些通用节点任务。因为我们正在使用空的存储库,运行npm运行测试,一个节点脚本,导致我们的配置失败。我们怎么解决这个问题?您需要在存储库中设置一个节点项目;这是另一个教程的主题。您可以查看多个演示应用程序以各种语言和框架设置Circleci,更详细地进入更详细的详细信息。

使用工作流功能

您不必使用ORB来使用circleci。以下示例详细信息如何创建还使用的自定义配置工作流功能circleci。

  1. 花点时间阅读下面代码块中的注释。当然,我们要做的是复制而不理解代码。现在,要查看正在运行的工作流,请编辑circleci先生/config.ymlfile and copy and paste the following text into it.

    version:2jobs:# we now have TWO jobs, so that a workflow can coordinate them!:# This is our first job.Docker.:#它使用Docker执行程序-image:Circleci./ruby:2.4.1# specifically, a docker image with ruby 2.4.1认证:username:mydockerhub-user密码:$ dockerhub_password.#上下文/项目UI环境变量引用#步骤是要在上面的docker容器中运行的命令列表。步骤:-查看#这会将代码从GitHub拉下来-运行:echo "A first hello"#向stdout打个“第一个招呼”。-运行:sleep25#一个命令告诉工作到“睡眠”25秒。:# This is our second job.Docker.:# it runs inside a docker image, the same as above.-image:Circleci./ruby:2.4.1认证:username:mydockerhub-user密码:$ dockerhub_password.#上下文/项目UI环境变量引用步骤:-查看-运行:回声“更熟悉的嗨”#我们运行与上面类似的echo命令。-运行:sleep15#然后睡15秒。#在workflows:map下,我们可以协调上面定义的两个工作。工作流:version:2一个和两个:#这是我们工作流的名称jobs:# and here we list the jobs we are going to run.--
  2. Commit these changes to your repository and navigate back over to the CircleCI Pipelines page. You should see your CircleCI pipeline running.

  3. 单击正在运行的管道以查看您创建的工作流程。您应该看到两份作业同时运行(或目前正在运行!)。

阅读中有关工作流的详细信息Orchestrating Workflows文档。

Adding some changes to use the workspaces functionality

每个工作流都有一个关联的工作区,可用于在工作流进行时将文件传输到下游作业。而传递这些数据的工作空间是唯一的。尝试更新配置yml以下内容:

version:2jobs::Docker.:-image:Circleci./ruby:2.4.1认证:username:mydockerhub-user密码:$ dockerhub_password.#上下文/项目UI环境变量引用步骤:-查看-运行:echo "A first hello"-运行:mkdir -p my_workspace.-运行:echo“尝试工作空间”> My_Workspace /回显输出-持久到工作区:#必须是工作目录的绝对路径或相对路径root:我的工作区#必须是root的相对路径路径:-echo-output:Docker.:-image:Circleci./ruby:2.4.1认证:username:mydockerhub-user密码:$ dockerhub_password.#上下文/项目UI环境变量引用步骤:-查看-运行:回声“更熟悉的嗨”-attach_workspace:# Must be absolute path or relative path from working_directoryat:我的工作区-运行:|if [[ $(cat my_workspace/echo-output) == "Trying out workspaces" ]]; thenecho "It worked!";elseecho "Nope!"; exit 1fi工作流:version:2一个和两个:jobs:--:需要:-

阅读更多关于工作区的信息这里

SSH into your build

如果您对终端感到满意,则可以通过使用SSH启用的选项重新运行构建来直接将Circleci作业进行解决,以解决您的构建。

请注意,您需要将SSH键添加到GitHub帐户中:https://help.github.com/articles/connecting-to-github-with-ssh/

Rebuild With SSH

Rebuild With SSH

Copy the宋承宪字符串从构建的启用SSH部分。打开一个终端和粘贴宋承宪字符串。

使用以下某些命令,查看是否可以查找和查看使用工作区创建的文件的内容:

pwd#打印什么目录,找出您在文件系统ls-al中的位置#列出当前目录cd中的哪些文件和目录#将目录更改为目录cat#显示文件的内容

与队友合作

It is easy for teammates and collaborators to view and follow your projects. Teammates can make a free CircleCI account at any time to view your pipelines, even if they are not committing any code.

See also

博客poston how to validate the CircleCI配置ymlon every commit with a git hook.

Circleci.

持续集成

亚马尔