2

GoCD 的开发环境创建

 2 years ago
source link: https://www.continuousdelivery20.com/blog/gocd-setup/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

乔梁 | 2022-04-22

GoCD 是什么

GoCD 是一个持续交付服务器。GoCD 帮助您自动化,并优化构建测试发布周期,从而无需担心、持续交付你的软件产品。

GoCD 开发环境的建立

官方声明的软件环境

GoCD 需要下列软件包

Git >= 2.20 (https://git-scm.com/downloads)

64-bit JDK 17+ (We recommend downloading it from OpenJDK, or Adoptium)

NodeJS >= 16 (https://nodejs.org/en/download/)

Yarn v1 package manager

Generally, `npm install -g yarn` will suffice;

otherwise, see https://yarnpkg.com/en/docs/install

C/C++ build toolchain: certain node packages might need to build native extensions

gcc/g++ (linux only)

Microsoft Visual C++ Build Tools 2015 (Windows only).

Microsoft Build Tools 2015 (Windows only).

以下内容在 MacOS上验证通过

第一步:准备工作

使用 homebrew安装

$> brew install git yarn openjdk nodejs
  • MacOS Big Sur V11.6.5
  • gradle version Gradle 7.4.2
  • IntelliJ Idea 2022.1 CE
  • Java Version “17.0.2” 2022-01-18 LTS
  • node.js version 17.9.0
  • Perforce Version: P4D/MACOSX1010X86_64/2020.1/1953492 (2020/04/24) License: none(免费版本)
  • Git version 2.35.3
  • SVN V1.14.1 (r1886195)

第二步:获取代码

The main repository is: https://github.com/gocd/gocd

第三步:验证可以本地构建 Zip 安装包

在 Terminal 进入刚下载的 gocd 目录,并运行构建命令

cd gocd
$> gradle clean agentGenericZip serverGenericZip
$> gradle clean agentGenericZip serverGenericZip

成功构建后,通过下面的命令查看, 得到类似如下输出

$ ls installers/target/distributions/zip/
go-agent-16.7.0-3795.zip  go-server-16.7.0-3795.zip

解压后使用下面命令查看,你会得到类似如下输出

$ find . -name target -type d
./addon-api/database/target
./agent/target
...
./tfs-impl/target
./util/target

如下一切正常,我们就可以设置 IDE了。

第四步:设置 IntelliJ Idea

对于TypeScript、JavaScript、Sass、Ruby和其他部分, 有人会使用其他编辑器,例如 VS code、Sublime Text、Vim等,这些都是完全可选的。

1. IDEA 准备工作

使用下面命令,先组织一下工作目录

gradle clean prepare

2. 通过 Build.gradle 导入项目

在准备阶段成功后,启动 IDEA,并通过选择gocd目录下的 build.gradle 文件打开该项目。

build.gradle 文件位于工作目录gocd下。

此时,IntelliJ IDEA可能会提示你:单击导入 gradle 项目 (import gradle project)

3. 设置 JDK

点击菜单「File」-> 「Project Structure」 ,在界面中选择装好的 JDK 17

4. 设置 Gradle Settings

点击菜单「IntelliJ IED」,在界面中选择 Gradle,并设置如下。

5. 设置 Junit 模板

  • 点击菜单 「Run」 -> 「Edit configurations...」 -> 「Edit Configuration Templates…」
  • 左侧列表中点击 JUnit 5,然后再点击右侧出现的选项 add new configuration
  • 点击「Modify Options」,出现下拉菜单,点击「Add VM Options
  • 在带有 -ea文字的 VM Option 一栏中添加参数,如下所示
 -ea --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED

Junit 模板设置完成,以后在 IDEA 中运行 Junit 5 测试用例时,都会使用这个模板。

第五步: 在 IntelliJ Idea 中直接启动 DevelopmentServer

  • 找到类文件 DevelopmntServer.java,选择函数 main()后,运行它。 此次会失败。

  • 失败后,打开 「Run」-> 「Edit Configration」,加入下面的参数,如下图所示。

--add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED -Xmx2g
  • DevelopmentServerWorking Directory 设置为 Server,见上图。

此时,即可再次运行 DevelopmentServer,结果应如下图所示。

  • 打开浏览器,访问 http://localhost:8153,可见如下页面。

第六步: 在 IntelliJ Idea 中直接启动 DevelopmentAgent

  • DevelopmentServer的步骤一样,但仅需要设置 Working DirectoryAgent,见下图。
  • 在 IDEA 中执行 DevelopmentAgent.main(),可见下图。
  • 打开浏览器,访问 http://localhost:8153,点击页面上方的Agent,可见刚刚启动并自动注册的Agent。

注意需要保持 DevelopmentServer 运行。

第七步:运行 Javascript 测试用例

在开发环境中运行 Javascript 测试用例(运行非常快,分钟级)

  • 首先在 IDEA 中启动 DevelopmentServer
  • 在浏览器中打开 http://localhost:8153/go/assets/webpack/_specRunner.html

可以看到如下界面。

如果想在浏览器上要运行老的 Javascript Spec,先运行下面的命令:

$> gradle jasmineOldServer

然后,打开浏览器,访问http://localhost:8888/

可以看到如下界面。

在CI环境中运行 Javascript 测试用例(运行非常慢)

在命令行中运行 下面的命令

$> gradle jasmine

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK