首页 > cef > CEF-如何设置自动构建系统(AutomatedBuildSetup翻译)
2017十月10

CEF-如何设置自动构建系统(AutomatedBuildSetup翻译)

[隐藏]

https://bitbucket.org/chromiumembedded/cef/wiki/AutomatedBuildSetup.md


本Wiki页面描述了CEF自动构建系统的设置。

  

1.导论

CEF提供了自动下载,构建和打包Chromium和CEF源代码的工具。 这些工具是在本地构建CEF的推荐方法,也可以与自动构建系统集成。 CEF自动构建系统的示例包括由Spotify托管的http://opensource.spotify.com/cefbuilds/index.html。 本文档概述了如何构建类似于Spotify的系统。 对于一般CEF构建说明,请参阅“ BranchesAndBuilding Wiki”页面。

 

2.服务

自动构建系统跟踪CEF分支的更改,在检测到更改时自动构建CEF的新版本,并将生成的工件(CEF二进制文件)上载到Internet或Intranet网站。

自动构建系统需要以下高级服务:

1.构建执行服务。用于使用在不同操作系统平台上运行的代理执行CEF自动化构建。 例如,像TeamCity或Jenkins这样的构建系统。

2.人工存储服务。用于存储构建代理引用和生成的工件。 例如,共享文件系统或像Artifactory仓库这样的存储系统。

3.人工出版服务。用于在Intranet或Internet上发布文件以进行下载。 通常提供某种形式的分布式缓存。 例如,像Amazon S3 + Cloudfront或Google Cloud Storage这样的云提供商。

这些特定服务的设置不属于本文档的范围。 但是,我们将以通用术语来介绍这些服务的功能。

 

3.执行步骤

参考构建系统按照以下步骤执行:

 

3.1.更改触发器

以某种间隔(例如每天一次)自动运行,以检查CEF存储库是否提交了新的更改。 Bitbucket REST API公开了可以查询的端点,以识别分支中最近的提交。 例如,这将返回最近提交的2785分支:

https://api.bitbucket.org/2.0/repositories/chromiumembedded/cef/commit/2623

{"hash": "b90a3be1860b0647e8a62c218ff7c054390365b1", "repository": {"links":.....

返回的hash值与上一次成功的CEF构建版本进行比较,以确定是否需要新构建(例如, 来自分支2623的hash值将匹配名为cef_binary_3.2623.1397.gb90a3be_windows32.rar的构建文件,hash的前7位相同)

如果仓库存储在共享文件系统上,那么Python之类的语言可以直接访问文件列表。 如果仓库存储在Artifactory中,则请参阅Artifactory REST API文档,以获取有关如何检索目录列表的说明。

 

3.2.平台生成器

当检测到新的提交时,由更改触发器启动。 为每个受支持的构建平台(linux32,linux64,macosx64,windows32,windows64)配置了一个单独的平台构建器。 它在该平台上执行构建,然后将生成的构建工件文件上传到存储服务(共享文件系统,Artifactory等)。

有关推荐的平台构建配置,请参阅下面的“平台构建配置”部分。

  

3.3.仓库发布

由平台构建器在成功构建时启动。它从存储服务检索构建仓库文件的列表,并使用cefbuilds工具与上一次运行生成的index.json文件进行比较。 检测到更改时,会将新更改上传到发布服务(Amazon S3,GCS等)。 然后存储新的index.json文件以供将来参考。

除了生成index.json文件之外,cefbuilds工具还可以生成Spotify构建器使用的index.html文件(通过“branding”参数为cef_html_builder.py提供自己的自定义数据)。 有关样例用法,请参阅cefbuilds目录中的cef_json_builder_example.py和cef_html_builder.py文件。

 

4.平台构建配置

以下配置由平台构建器步骤执行。 这些是外部发布的仓库的推荐配置,但不推荐用于本地构建。 有关一般构建说明,请参阅“BranchesAndBuilding Wiki”页面。

这些说明适用于当前版本的分支(2785)。 在限定的时间内,您还可以通过设置CEF_USE_GN=0,使用这些说明构建旧的发行版分支。 这将使用GYP而不是GN来构建CEF – 有关详细信息,请参阅本公告。 随着构建要求的变化,这个Wiki页面将被更新。

  

4.1.Windows配置

4.1.1.需求条件

Windows 7或更新的64位操作系统。

Visual Studio 2015 Update 2或Update 3。

Windows 10.0.10586 SDK

至少8GB的RAM和40GB的可用磁盘空间。

有关Windows自定义工具链要求,请参阅gclient_hook.py中的注释。 可以打包VS + SDK进行分发,以使用像Chromium的package_from_installed.py这样的脚本构建代理。

   

32位构建命令

在64位window系统上构建32位CEF

set CEF_USE_GN=1
set GN_DEFINES=is_official_build=true
set GYP_DEFINES=buildtype=Official
set GYP_MSVS_VERSION=2015
set CEF_ARCHIVE_FORMAT=tar.bz2
automate-git.py --download-dir=%download_dir% --branch=%cef_branch% --minimal-distrib --client-distrib --force-clean

如果VS2015或SDK未安装到默认位置,请在执行automate-git.py之前设置以下内容:

set WIN_CUSTOM_TOOLCHAIN=1
set CEF_VCVARS=none
set GYP_MSVS_OVERRIDE_PATH=%vs_root%
set VS_CRT_ROOT=%vs_crt_root%
set SDK_ROOT=%sdk_root%
set PATH=%sdk_root%\bin\x86;%vs_root%\VC\bin;%PATH%
set LIB=%sdk_root%\Lib\10.0.10586.0\um\x86;%sdk_root%\Lib\10.0.10586.0\ucrt\x86;%vs_root%\VC\lib;%vs_root%\VC\atlmfc\lib;%LIB%
set INCLUDE=%sdk_root%\Include\10.0.10586.0\um;%sdk_root%\Include\10.0.10586.0\ucrt;%sdk_root%\Include\10.0.10586.0\shared;%sdk_root%\Include\10.0.10586.0\winrt;%vs_root%\VC\include;%vs_root%\VC\atlmfc\include;%INCLUDE%

 

64位构建命令

在64位window系统上构建64位CEF

set CEF_USE_GN=1
set GN_DEFINES=is_official_build=true
set GYP_DEFINES=buildtype=Official
set GYP_MSVS_VERSION=2015
set CEF_ARCHIVE_FORMAT=tar.bz2
automate-git.py --download-dir=%download_dir% --branch=%cef_branch% --minimal-distrib --client-distrib --force-clean --x64-build

如果VS2015或SDK未安装到默认位置,请在执行automate-git.py之前设置以下内容:

set WIN_CUSTOM_TOOLCHAIN=1
set CEF_VCVARS=none
set GYP_MSVS_OVERRIDE_PATH=%vs_root%
set VS_CRT_ROOT=%vs_crt_root%
set SDK_ROOT=%sdk_root%
set PATH=%sdk_root%\bin\x64;%vs_root%\VC\bin\amd64;%PATH%
set LIB=%sdk_root%\Lib\10.0.10586.0\um\x64;%sdk_root%\Lib\10.0.10586.0\ucrt\x64;%vs_root%\VC\lib\amd64;%vs_root%\VC\atlmfc\lib\amd64;%LIB%
set INCLUDE=%sdk_root%\Include\10.0.10586.0\um;%sdk_root%\Include\10.0.10586.0\ucrt;%sdk_root%\Include\10.0.10586.0\shared;%sdk_root%\Include\10.0.10586.0\winrt;%vs_root%\VC\include;%vs_root%\VC\atlmfc\include;%INCLUDE%

 

文章作者:hgy413
本文地址:https://hgy413.com/4474.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

本文目前尚无任何评论.

发表评论