1. 扭转teamcity server配置:

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

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

database:构建的历史,用户及其用户数据以及其余内容存再datebase中。
Date Directory:存配置文件,构建后果,和以后操作文件的目录。
装置服务的机器上的.BuildServer也存有相干信息。点击broser能够看到很多配置相干的文件。<tc home>/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,此时能够看到如下界面:

    各项阐明如下:

选项阐明
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失败。