AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[teamcity](server)

Martin Hope
skapral
Asked: 2021-07-20 01:50:09 +0800 CST

在 Windows 10 下为 TeamCity 代理授权 docker

  • 1

我有:

  • 团队城市 CI
  • TeamCity 代理,作为 Windows 服务安装在 Windows 10 中
  • 一些带有集成测试的 Java 项目,基于TestContainers框架。
  • Sonatype Nexus 实例,配置为私有 docker 注册表

基于 TestContainers 的测试需要 docker 在项目构建期间可用。执行测试所需的所有图像都位于 Nexus 中。这反过来意味着 - 为了在 CI 上执行测试,我应该将 docker 验证到 Nexus 以便能够拉取它们。这就是问题所在。

我不明白我应该如何对 docker 进行身份验证,即 Windows 服务(TeamCity 代理)。

通常,它由docker login. 我尝试docker login从代理主机上的管理员 PowerShell 执行,它确实成功了 - 我现在可以从管理员控制台中提取图像。但尝试在 TeamCity 代理上运行测试失败,在尝试从 Nexus 拉取图像时面临 401 Unauthorized。就像,服务是从某个用户那里执行的,而这docker login并没有完成。

我应该如何让 docker 授权进入 Windows 10 TeamCity 代理服务的私有 docker 注册表?

docker windows-10 teamcity
  • 1 个回答
  • 211 Views
Martin Hope
Tim Baverstock
Asked: 2020-05-30 09:53:17 +0800 CST

Teamcity 可以通过正则表达式匹配构建参数值来选择代理吗?

  • 0

我有许多 Teamcity 代理,其中一些位于偏远地区。

这两个位置都有一个默认的应用服务器实例来测试客户端,但我们也有一些仅在此处运行的实验性应用服务器。

想要实验服务器的开发人员设置构建参数experimental.server=SOMETHING来告诉测试脚本使用它。问题是,他们还必须选择本地构建池才能在Run...对话中获取本地代理,这很容易忘记(这就是为什么创建一整套重复构建类型也不起作用的原因)。

有没有办法在构建类型上设置代理要求,以便仅将需要实验服务器的测试发送给本地代理?

我知道构建可能对 JAVA=1.7 或 JAVA=.* 有要求,以选择具有正确或任何 SDK 的那些。

但似乎我需要将远程代理的属性设置为“^$”,将本地代理的属性设置为“.*”,并且如果构建属性experimental.server与代理属性中的正则表达式匹配,则使 Teamcity 仅使用远程代理supported.experiments。

那可能吗?

teamcity
  • 1 个回答
  • 652 Views
Martin Hope
user630702
Asked: 2020-02-26 00:31:01 +0800 CST

Teamcity - 包 javax.servlet 不存在

  • 0

如何javax.servlet在 Teamcity 中导入?当我尝试通过 teamcity IntelliJ IDEA 运行器构建 java 项目时,出现以下错误消息。

这是我第一次使用 teamcity,我正在使用这个https://github.com/marekbruchaty/SimpleJavaWebApp项目。我有一个具有 teamcity 和 gitlab 的 CentOS 服务器。

在我的桌面上,使用 IntelliJ IDEA 我可以导入 servlet.api 来成功构建。但是 teamcity 在另一个位置并远程管理,我想知道如何将 servlet-api 导入到 teamcity 中?

我应该在哪里添加 servlet-api.jar 作为 teamcity 中的依赖项以便它可以编译?

这是构建错误:

/root/buildAgent/work/f096a35a2a7f853/src/FormServlet.java:1: package javax.servlet does not exist
import javax.servlet.ServletException;
                    ^
/root/buildAgent/work/f096a35a2a7f853/src/FormServlet.java:2: package javax.servlet.http does not exist
import javax.servlet.http.HttpServlet;
                         ^
/root/buildAgent/work/f096a35a2a7f853/src/FormServlet.java:3: package javax.servlet.http does not exist
import javax.servlet.http.HttpServletRequest;
                         ^
/root/buildAgent/work/f096a35a2a7f853/src/FormServlet.java:4: package javax.servlet.http does not exist
import javax.servlet.http.HttpServletResponse;
                         ^
/root/buildAgent/work/f096a35a2a7f853/src/FormServlet.java:5: package javax.servlet.annotation does not exist
import javax.servlet.annotation.WebServlet;
                               ^
/root/buildAgent/work/f096a35a2a7f853/src/FormServlet.java:13: cannot find symbol
  symbol: class HttpServlet
public class FormServlet extends HttpServlet {
                                 ^
/root/buildAgent/work/f096a35a2a7f853/src/FormServlet.java:12: cannot find symbol
  symbol: class WebServlet
@WebServlet(name = "FormServlet")
 ^
/root/buildAgent/work/f096a35a2a7f853/src/FormServlet.java:14: cannot find symbol
  symbol:   class HttpServletRequest
  location: class FormServlet
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                          ^
/root/buildAgent/work/f096a35a2a7f853/src/FormServlet.java:14: cannot find symbol
  symbol:   class HttpServletResponse
  location: class FormServlet
java teamcity servlet servlets
  • 1 个回答
  • 3477 Views
Martin Hope
Luis Perez
Asked: 2014-05-27 14:35:33 +0800 CST

无法通过 net.exe 停止 TeamCity 构建代理服务。无法启动进程。返回码是 2 不等于 0。

  • 1

我在我的 Windows 8 机器上本地安装了 TeamCity。当我通过浏览器打开 TeamCity 时,它显示 0 个代理。当我查看代理时,我看到 1 个代理断开连接,并显示一条消息说它自己取消注册并且消息“将更新”。

我等着,但什么也没有发生。

我检查了日志文件C:\TeamCity\buildAgent\logs\teamcity-agent.log并看到消息“从构建服务器收到升级调用”。

然后我检查upgrade.log了同一个日志文件夹,并看到了消息Failed to stop TeamCity build agent service via net.exe

我已经使用用户帐户(又名不是 SYSTEM)安装了 TeamCity 服务和构建代理。

teamcity
  • 1 个回答
  • 1322 Views
Martin Hope
Piers Karsenbarg
Asked: 2012-07-17 00:59:02 +0800 CST

为什么我可以使用 git bash 连接到 git 而不能连接到 git?

  • 0

我已经使用 Scott Chacon 的ProGit 书中的说明设置了一个 git 服务器。我可以使用 Git Bash 或来自 msysgit 的 Git GUI 毫无问题地连接我设置的存储库并与之交互。我在我机器上 Virtualbox 下的虚拟机上运行 git,ssh 被端口转发。

但是,当我尝试使用SmartGit或 Teamcity 访问存储库时,我收到错误消息,指出远程端意外挂断。

我正在使用 ssh 密钥进行身份验证,它似乎可以与 Git Bash 和 GUI 一起使用,因为我被要求提供链接到这些的密码短语,但我不确定为什么它不能与 teamcity 一起使用(它也在运行在我的机器上)。

我用来连接到 git 的 URL 是 ssh://git@3439vsweb/home/git/readme.git

这个 URL 与 Git Bash 和 Gui 一起工作(正如我之前所说),所以我想不出它不能与 teamcity 一起工作的任何原因。

ssh git teamcity
  • 1 个回答
  • 968 Views
Martin Hope
Mr_LinDowsMac
Asked: 2012-06-30 13:49:21 +0800 CST

在 TeamCity 中构建时捆绑安装

  • 4

我正在尝试在 TeamCity 中运行构建。我试图为单元测试构建的应用程序是用 Ruby on Rails 编码的。

克隆构建失败后,我将 VCS 根目录配置为从我的存储库中获取。这里是:

Bundler::GemNotFound: Could not find gem 'devise (= 2.1.0) ruby' in the gems available on this machine.

Stacktrace:
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:287:in `resolve'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:346:in `block in resolve_requirement'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:344:in `catch'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:344:in `resolve_requirement'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:295:in `block in resolve'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:294:in `reverse_each'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:294:in `resolve'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:161:in `start'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:128:in `block in resolve'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:127:in `catch'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/resolver.rb:127:in `resolve'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/definition.rb:192:in `resolve'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/definition.rb:127:in `specs'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/definition.rb:172:in `specs_for'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/definition.rb:161:in `requested_specs'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/environment.rb:23:in `requested_specs'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:11:in `setup'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler.rb:107:in `setup'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.1.4/lib/bundler/setup.rb:17:in `<top (required)>'
/usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require'
/usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
/usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
/root/TeamCity/buildAgent/work/a85b8d8560bb396b/config/boot.rb:10:in `<top (required)>'
/usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/root/TeamCity/buildAgent/work/a85b8d8560bb396b/config/application.rb:1:in `<top (required)>'
/usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/local/rvm/rubies/ruby-1.9.2-p320/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/root/TeamCity/buildAgent/work/a85b8d8560bb396b/Rakefile:5:in `<top (required)>'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load_rakefile'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:501:in `raw_load_rakefile'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `block in load_rakefile'
/root/TeamCity/buildAgent/plugins/rake-runner/rb/runner/rake_ext.rb:314:in `standard_exception_handling'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:65:in `block in run'
/root/TeamCity/buildAgent/plugins/rake-runner/rb/runner/rake_ext.rb:314:in `standard_exception_handling'
/usr/local/rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/root/TeamCity/buildAgent/plugins/rake-runner/rb/runner/rake_ext.rb:179:in `run'
/root/TeamCity/buildAgent/plugins/rake-runner/rb/runner/rakerunner.rb:40:in `<main>'

Source: /root/TeamCity/buildAgent/work/a85b8d8560bb396b/Rakefile:5:in `<top (required)>'

似乎它需要先运行 bundle install,但是在配置中如何在 TeamCity 上执行此操作?

ruby-on-rails teamcity continuous-integration
  • 1 个回答
  • 2929 Views
Martin Hope
growse
Asked: 2012-06-02 02:13:06 +0800 CST

MSDeploy - 可以一次在多个目的地调用 setAcl 吗?

  • 2

我正在基于 TeamCity 为我们的开发团队构建一个不错的小型持续集成环境。它工作得相当好,因为它可以混合构建 .NET 和 PHP 项目,并将它们推送到我们的内部和外部平台。

我主要使用 MsDeploy 将所有内容推送到内部平台,因为这都是基于 IIS 的。但是,有许多构建需要在目标目录上设置目录权限。我可以setAcl很好地使用运算符,但这似乎只需要一个目的地作为参数。因此,如果我需要更改 5 个目标目录的权限,我需要调用 MsDeploy 5 次,这看起来开销很大。

有没有明智的方法解决这个问题?阅读文档后,我认为 MsDeploy 对运算符的参数不超过一个setAcl,但可能是错误的。有没有更好的方法让构建服务器一次设置多个目录权限?

permissions iis-7.5 access-control-list teamcity msdeploy
  • 1 个回答
  • 423 Views
Martin Hope
Dave
Asked: 2010-03-27 08:52:01 +0800 CST

构建持续集成服务器时要考虑的事项?

  • 0

我是持续​​集成的新手,但立即意识到它的价值,我想立即进行设置。我玩过 TeamCity 并让它在虚拟机中工作得很好。

现在,我不想在另一个系统上花钱,所以我打算在更快的机器(即我的开发系统)上再次运行 VM。有几个问题浮现在脑海中:

  • 硬盘分配——应该有多大?当然,60GB 似乎绰绰有余,但人们也曾经认为我们永远不需要超过 64KB 的 RAM
  • 备份 - 备份集成服务器是否重要?当然,我想这很好,这样就不必再次经历整个配置过程,但我认为就是这样。每次我进行配置更改时,我都可以对我的虚拟机进行快照,然后只备份应用程序(忽略 buildAgent 的东西)。
  • 迁移——如果我想从开发系统上的虚拟机转移到新服务器,甚至可能运行 Windows Server 2003,是否足够简单?也许这是最适合 StackOverflow 的特定点。
teamcity continuous-integration build-server
  • 1 个回答
  • 604 Views
Martin Hope
Brad B.
Asked: 2009-08-25 10:36:58 +0800 CST

在运行 IIS 7 的多宿主 Windows Server 2008 上更改 TeamCity IP 地址和端口号

  • 21

经过整整两天的“研究”(阅读:把我的头撞在我的键盘上)并诅咒 TeamCity/MSDN/Tomcat 文档以及幻象 IIS 绑定,我想出了一个非常令人困惑的问题的答案:如何我在运行 Windows Server 2008 以及用于必要目的的 IIS 7 的多宿主服务器上更改了 TeamCity 的 IP 地址和端口号?.

首先,一点背景。我们的构建服务器在一个 NIC 上运行具有两个 IP 地址(192.168.1.30 和 192.168.1.31)的 Windows Server 2008。我已将 IIS 配置为将其唯一的站点显式绑定到端口 80 上的 192.168.1.30。此时我认为 192.168.1.31 已完全开放并准备好用于 TeamCity ......不完全是。

第一个烦恼:安装 TeamCity 时,它完全忽略了与该服务器关联的多个 IP 地址这一事实,只询问它应该绑定到哪个端口。对于服务器级软件,这是相当令人惊讶的。

第二个烦恼:TeamCity 默认使用端口 8080(什么??)。由于第一个烦恼,端口选择有点模棱两可:TeamCity 是否会绑定到两个 IP 地址上的端口 8080?将端口选择更改为 80 会产生一个警告,表明另一个服务已经绑定到端口 80。嗯,IIS 应该只绑定到 192.168.1.30 上的端口 80;192.168.1.31 上不应有任何约束。显然,TeamCity 在 192.168.1.30 上与 IIS 竞争。

完成 TeamCity 的安装,选择端口 80 并忽略绑定警告后,我打开“C:\TeamCity\server.xml”。旁注:“C:\TeamCity\”是 TeamCity 的默认安装目录,而“C:\Users\.BuildServer”是默认数据目录。无论如何,“server.xml”是配置文件,您可以在其中设置 TeamCity Web 界面的端口和 IP 地址等内容。经过一番研究,我想出了在端口 80 上绑定 IP 地址 192.168.1.31 的配置:

寻找任何一个

<Connector
    port="8080"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />

或者

<Connector
    port="80"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />

取决于您在安装过程中选择的端口。更改为(注意:更改IP地址!)

<Connector
    port="80"
    protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443"
    address="192.168.1.31" />

应该就这么简单吧……对吧?好吧,重新启动 TeamCity 的 Web 服务器(通过 Windows 的服务管理器)在 192.168.1.31 上没有任何结果。啊。

事实证明,即使 IIS 的唯一一个站点已明确绑定到端口 80 上的 192.168.1.30,IIS 仍然侦听所有IP 地址。当然,这会导致 TeamCity 的 Web 服务器 (Tomcat) 在上线之前就停止运行。在从命令行手动启动 Tomcat 以剖析其标准输出错误并进行更多研究后,我偶然发现了 StackOverflow 的这个小宝石:如何控制 IIS7 使用的 IP 地址?

因此,从我运行的管理命令行(注意:再次更改 IP 地址!这次是您希望绑定 IIS的 IP 地址)

netsh http add iplisten ipaddress=192.168.1.30

现在我重新启动 TeamCity 的 Web 服务器,瞧,它可以工作了!!我可以浏览到 192.168.1.31而无需指定端口号,TeamCity 的 Web 界面就会出现。快速健全性检查显示 IIS 仍正确绑定到 192.168.1.30。一切都很好。

对于这么简单的修复,很抱歉这么长的帖子。我希望这对其他人有所帮助,因为它肯定会为我节省数小时的恶化时间。


编辑:使用 TeamCity 一段时间后,我注意到与 TeamCity 一起安装的 Build Agent 没有被正确识别。为了解决这个问题,我必须将 Build Agent 指向 TeamCity 的新 URL。此配置更改在“C:\TeamCity\buildAgent\conf\buildAgent.properties”中完成。同样,这是默认安装 TeamCity 的路径,可能会有所不同,具体取决于您自定义 TeamCity 安装的方式。

在“buildAgent.properties”中确保“serverUrl”指向新的 TeamCity URL。就我而言,我将其更新为:

serverUrl=http\://192.168.1.31

进行此更改后,重新启动 TeamCity Web Server 和 TeamCity Build Agent。

windows-server-2008 ip iis-7 multi-homed teamcity
  • 1 个回答
  • 8151 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve