teamcity for administrator

1. 改变teamcity server配置:

Administration (右上)| Global Settings(左中)

2. teamcity 配置(Global Settings下的选项):

database:构建的历史,用户及其用户数据以及其他内容存再datebase中。
Date Directory:存配置文件,构建结果,和当前操作文件的目录。
安装服务的机器上的.BuildServer也存有相关信息。点击broser可以看到很多配置相关的文件。/TeamCity/conf/teamcity-startup.properties中保存了TeamCity数据存放目录。
Artifact directories:Build Artifact是一个build产生的文件。此目录存放Build Artifact,build data,build logs。

3.Version Control Setting

Default VCS changes check interval:默认的检测版本库是否发生改变的时间间隔。默认60s,可以通过设置VCS root进行设置。
Default VCS trigger quiet period:指明了上次VCS变变动到增加一个build到队列中这个时间段。这由teamcity维护。
Checkout directory:

4.Edit configuration Settings

首先选定项目,项目一般都有子项目。点击项目前的三角形就会罗列出来。选中对应项目后,点击右上角的build configuration home。可以看到以下几部分:

  • General Settings:
  • Agent requirement:
  • Dependencies
    一个build配置可以依赖多个配置。可以设置两种类型的依赖:Snapshot Dependency和Artifact Dependency。

    • Artifact Dependency是获取其他build生成的产品。当没有相应的Snapshot Dependency设置时,它主要用于build的配置与源无关的情况。例如一个为其他build提高可重用组件(文件,压缩包等)的build。

      如何添加一个artifact dependency?
      Dependencies|Add new artifact dependency,此时可以看到如下界面:
      teamcity for administrator_第1张图片

    各项说明如下:

选项 说明
Depend on 为当前build配置指明一个要依赖的buil配置
Get artifacts from 指明build类型,将从这个build获取产品(压缩包,文件等)。类型有:last successful build(获取最近的且build成功的产品), last pinned build(最近的固定依赖), last finished build(有Snapshot Dependency配置时,产品build和同源build获取), build from the same chain(有Snapshot Dependency配置才有效)
Build number 选择last finished build with specified tag才会用到
Build branch filter 此项只有当依赖中有一个在VCS root settings就指定的分支时才会生效。它允许设置一个分支过滤,从而限制源build只在匹配的分支中进行
Artifacts Rules 参考下文
Clean destination paths before downloading artifacts 在copy产品前,检查这个选项去删除目标目录的内容。它将应用到所有包含性规则中

Artifacts Rules
一般格式:[+:|-:]SourcePath[!ArchivePath][=>DestinationPath]
每条规则都指明了从源build要下载的文件。SourcePath指明了源build的产品的目录。它要么指明一个具体的文件或目录,要么用通配符匹配多个文件(支持通配符:*匹配任何文件名和目录名,但/和\这两个目录分隔符除外。?匹配除开目录分隔符外的任何一个字符。**匹配任何符号,包含目录分隔符)。下载的内容会根据规则中的SourcePath的第一个*或?开始保持目录结构。DestinationPath指明在agent上的目标目录(放文件的地方)。如果它是相对路径,build checkout directory为当前目录。若目标路径不存在,会把文件下载到checkout根目录。

举例:
源目录文件结构a/b/c/file.txt。规则:a/b/**=>lib。则会目录会下载一个lib/c/file.txt的结构。
源目录文件结构a/b/c/file.txt。规则:**/*.txt=>lib。则会目录会下载一个lib/a/b/c/file.txt的结构。

ArchivePath用于下载压缩结构:zip,7zip,jar,tar和tar.gz。ArchivePath的匹配规则类似SourcePath

举例
release-.zip!.dll=>dlls 会下载匹配release-*.zip的所有.dll文件到dlls目录。
a.zip!**=>destination 会下载a.zip下的所有文件到destination目录
a.zip!a/b/c/**/*.dll=>dlls会下载a/b/c或它的子目录下的所有.dll文件(此处存疑)。

+:和-:是用来从要下载的内容中包含或排除指定的文件的。

举例:
*/.txt=>texts
-:bad/exclude.txt
以上两条规则会下载所有.txt文件。但bad目录下的exclude.txt文件除外。
+:release-.zip!/.dll=>dlls
-:release-0.0.1.zip!Bad.dll
以上两条规则会从release-.zip文件中下载所有的.dll文件。到release-0.0.1.zip中的Bad.dll除外。
*/.*=>target
-:excl/*/.*
+:excl/must_have.txt=>target
以上三条规则会下载所有目标文件,但excl目录下的文件不会下载,但会下载excl下的must_have.txt文件会下载。
  • Snapshot Dependency设置的是build间源层次的依赖。目的是通过创建不同的build配置形成复杂的build程序,而这些build配置用Snapshot Dependency关联起来。
  • Failure Conditions
    通过设置失败条件,从而定义一个build怎样才算失败(默认情况下,很多出错build的结果都是success)。

    • Common Failure Conditions(Fail build if:)
      it runs longer than ... minutes:build运行时间限制。以分钟为单位。设置为非零值时,会覆盖全局(server层次: Administration|Global settings)设置。设置为0,则是无时间限制,若有server层次的设置,则以它为准。
      the build process exit code is not zero:有一个build step以非0结束,则整个build失败。
      at least one test failed:有一个build step失败,则整个build失败。且后续的build step不会再运行。若为选中此此选项,即使有大量build step失败,后续build step仍会执行。
      an error message is logged by build runner:build runner报告了错误信息,则认为build失败。
      an out of memory or crash is detected (Java only):检测到JVM的崩溃,或Java的内存不足问题。
    • Additional Failure Conditions
      1.Fail build on metric change
      2.Fail build on specific text in build log
      当build 日志中出现特定的文本时,可以定义build失败。TeamCity会检查日志中的每一行。
      注意:匹配时,日志前的时间以及每个步骤开始前的步骤名称等会被忽略。当然,也可反向定义,即日志未出现某些文本时,认为build失败。

你可能感兴趣的:(ci集成)