持续集成(CI)涉及到功能分支的自动化测试,他们被合并到主的Git分支在一个项目之前。这保证了代码库不会与可能碰坏的变化更新。持续交付(CD),而另一方面,通过自动化这些分支机构和/或主枝的版本是建立在CI。这使得小的增量更新,以达到您的用户提供更快,与敏捷软件开发理念一致。

在这篇文章中,我将带你通过建立CI与GitHub上。我们将使用一个Python应用程序,以证明我们的CI管道

下面是我们将采取的步骤:

  1. 创建一个简单的Python应用程序(含瓶)
  2. 创建该应用程序测试
  3. 添加config.yml文件
  4. 推到GitHub上
  5. 配置CircleCI
  6. 更新我们的自述与徽章
  7. 创建一个PR,看看CircleCI在行动

创建一个简单的Python应用程序

先决条件

如果您没有安装Python的做,按照说明这里适用于本地系统。附带Python安装果仁(该PyPA推荐的工具来安装Python包)。

构建应用程序

为简单起见,行最少的代码方面,我们将创建一个应用程序瓶。瓶是Python的一个microframework。对于我们的工作,该框架的小知识是必要的。我们将使用中发现的例子这里

首先,创建一个项目目录(文件夹)光盘进去。键入到终端这样的:

MKDIRpython_app&&光盘$ _/

接下来,打开你喜欢的编辑器创建hello.py文件。然后,复制以下行到该文件中:

进口烧瓶应用=烧瓶__名称__@应用路线“/”高清你好():返回“你好,世界!”

在Python虚拟环境

在Python工作时,我们强烈建议您使用虚拟环境。这可以让你在不在你的整个本地计算机一个抽象的环境中安装Python包。一些常见的方法来做到这一点是使用的virtualenv或者,甚至更好,virtualenvwrapper。我们将使用模块VENV这是Python3的一部分。它是这样做的:

  • 创建虚拟环境:
python3-mvenv venv

(请注意,我们可以用其他的名字我们的虚拟环境,如在下面的例子。)

python3-mvenv Env
  • 激活此环境:
VENV /斌/激活

(替换VENV如果你的环境中使用的另一个名字)

你会发现(VENV)就在shell提示符告诉您虚拟环境处于活动状态之前。所安装的任何Python包都将安装在这个环境中。要停用该环境,只需运行:

停用

运行应用程序

现在,让我们创建一个文件中我们的编辑。加字烧瓶到文件并保存它。

烧瓶

然后,在虚拟环境中运行以下命令安装包:

果仁安装-r

运行此应用程序的最后命令是:

FLASK_APP=hello.py瓶运行

你可以看到在你的浏览器中运行的应用程序HTTP://本地主机:5000 /

测试

在编辑器中,创建一个tests.py文件并粘贴这些行到它:

你好进口应用应用test_client()C响应=C得到'/'断言响应数据==b“Hello World !”断言响应STATUS_CODE==200

请参阅有关测试的详细信息,这些引用:

现在,让我们来运行我们的测试。打开终端,运行:

python3 tests.py

没有什么应该退还给我们的终端。为什么?原因是,我们的结构我们的瓶的应用程序,以便它不输出到终端上一通。这意味着我们的测试都通过。上面提到的资源提供有关通过和未通过测试终端UX(用户体验)的更好的例子,但是这也足以令我们的情况。

CircleCI配置文件

创建一个.circleci文件夹,那里面的创建config.yml文件。然后,复制这些行到它:

2职位建立码头工人-图片circleci / python: 3.6脚步-结帐-restore_cache关键deps1  -  {{.Branch}}  -  {{校验 “requirements.txt”}}-运行命令|python3 -m VENV VENV。VENV /斌/激活PIP安装-r requirements.txt-save_cache关键deps1  -  {{.Branch}}  -  {{校验 “requirements.txt”}}路径-VENV”-运行的名字运行测试命令|。VENV /斌/激活python3 tests.py-store_artifacts路径测试报告/目的地python_app

有关它的更多信息配置文件,请参见:/docs/2.0/language-python/

推到GitHub上

我们应该早点初始化Git和有原子提交(早,经常犯代码的哲学)。然而,由于该教程是关于CircleCI和GitHub的整合,我故意把它保持到现在。

我们当前的代码结构是这样的:

2018年9月11日,Stanley01.png“></p>
       <p>打开编辑器并创建一个<code class=.gitignore文件在工作目录国家文件和文件夹,我们想承诺的Git。以下行复制到该文件:

#字节编译/优化/ DLL文件剩余# Virtualenv /*

现在我们将通过运行以下命令来提交代码:

git的加
git提交-m“初始提交”

https://github.com并创建一个GitHub的账户,如果你不已经有一个。然后,创建一个存储库。

2018年9月11日,Stanley02.png“></p>
       <p><img src=

git远程添加原点https://github.com/NdagiStanley/python_app.git推送-u起源的主人