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失败。
- Common Failure Conditions(Fail build if:)