Tag: teamcity

在TeamCity中使用Dockerfile进行testing

我使用Docker来检查应用程序是否在所有受支持的Linux发行版上干净地构build。 我们的CI过程目前是: docker build -t myapp-debian-stable -f Dockerfile.deb-stable . docker run –rm -it myapp-debian-stable script/test.sh 是否有可能在TeamCity中做到这一点? 我担心的一些问题: Docker映像名称的范围在整个构build代理上共享(因此并行构build可以竞争) 避免在构build代理上泄漏构build的Docker镜像

使用docker和teamcity编写dockerfile部署和运行Spring Boot应用程序

我使用spring引导和gradle构build了一个REST API,然后基于这里提到的步骤,使用Docker上的TeamCity接口部署它 我能够完成教程中的所有步骤,但由于我提供的Dockerfileconfiguration,Docker镜像的构build和创build失败。 Dockerfile如下所示: FROM java ADD build/libs/gs-spring-boot-docker-0.1.0.jar app.jar CMD /opt/jdk/bin/java -Xmx400m -Xms400m -jar app.jar EXPOSE 8787 我只是试图在我的电脑上使用docker来启动应用程序,但是一天前我开始学习docker,所以我不太确定Dockerfile是否好。 TeamCity构build错误是:lstat build / libs / gs-spring-boot-docker-0.1.0.jar:没有这样的文件或目录 Teamcity代理从我提供的github仓库构build代码,在那里build / libs / gs-spring-boot-docker-0.1.0.jar丢失,实际上它不允许我上传它,因为它太大了。 因此,我的构build失败。 我该如何解决这个问题?

运行docker时使用teamcity-docker-agent – 权限被拒绝

我们在本地的TeamCity服务器上使用2017.1.5(build 47175),并使用最新的teamcity-docker-agent for ubuntu。 在启动teamcity-docker-agent时,我们添加: -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker 使docker在容器内可用。 在Docker容器中运行示例Gradle构build时,无法运行/opt/buildagent/temp/agentTmp/docker-shell-script-3687474573035166736.sh由于权限问题。 是否有人在没有这些问题的情况下在teamcity-docker-agent内部使用docker? root@99decd9a0703:/# ll /opt/buildagent/temp/agentTmp/docker-shell-script-3687474573035166736.sh -rw-r–r– 1 root root 225 Oct 18 06:08 /opt/buildagent/temp/agentTmp/docker-shell-script-3687474573035166736.sh 生成日志: [06:08:17][Step 1/1] Starting: /bin/sh -c docker pull openjdk && docker run –rm -w /opt/buildagent/work/472d663c385d6aef -v /opt/buildagent/work/472d663c385d6aef:/opt/buildagent/work/472d663c385d6aef -v /opt/buildagent/temp/agentTmp:/opt/buildagent/temp/agentTmp -v /opt/buildagent/temp/buildTmp:/opt/buildagent/temp/buildTmp -v /opt/buildagent/system:/opt/buildagent/system -v /opt/buildagent/lib:/opt/buildagent/lib:ro -v /opt/buildagent/tools:/opt/buildagent/tools:ro -v /opt/buildagent/plugins:/opt/buildagent/plugins:ro –env-file /opt/buildagent/temp/agentTmp/docker-wrapper-3086677386325386164.env […]

如何从构build服务器部署/运行Docker镜像

在CI构build服务器(TeamCity2017)上build立,运行和执行Docker镜像的testing后,我们应该如何将它部署到更多的机器上? 举例来说,如果我们将它推送到Dockerregistry,我们的CI服务器会指示目标机器拉和运行映像? 也就是说,在这个应用程序中,我们将使用Octopus进行这个部署步骤,但是我们的Octopus服务器目前还不支持Docker部署。 任何指导赞赏。 迈克尔·麦克。

团队城市Linux代理Docker构build失败(Docker中的Docker) – 错误创buildaufs挂载到/ var / lib / docker / aufs / mnt / … -init:无效参数

我正在尝试在Docker中获得TeamCity Linux代理安装程序。 代理需要能够构builddotnet core 2应用程序,然后在应用程序上执行docker build。 我有Docker在Windows 10 atm下运行,但是计划是容器将在AWS的Linux下运行。 我已经启动了TC Agent容器并运行了,dotnet的东西已经sorting,但是仍然停留在docker的东西上。 以下是TC代理日志: [08:33:47]Step 2/2: Docker Build (2m:16s) [08:33:48][Step 2/2] Starting: docker build –pull -f Dockerfile . [08:33:48][Step 2/2] in directory: /opt/buildagent/work/274731defed46d9f/think.ETL [08:33:48][Step 2/2] [08:33:48][Step 2/2] Step 1/9 : FROM microsoft/aspnetcore:2.0.4 [08:33:51][Step 2/2] 2.0.4: Pulling from microsoft/aspnetcore [08:33:52][Step 2/2] 723254a2c089: Pulling fs layer [08:33:52][Step 2/2] 499be8ca2075: […]

扩展现有的Docker镜像

我已经从以下方面拉取了teamcity-agent的形象: https://hub.docker.com/r/jetbrains/teamcity-agent/ 我已经在这个图像的顶部安装了Subversion和Node,并通过编辑现有的图像将其提交到Docker Hub – https://hub.docker.com/r/antonrand/teamcity-agent/ 现在我想扩展图像 – 只需添加另一个挂载点即可。 这是我的Dockerfile: FROM antonrand/teamcity-agent # Create build directory RUN mkdir -p /usr/src/test VOLUME /usr/src/test WORKDIR /usr/src/test 当我运行这个没有任何反应时,我怎么能告诉Docker运行已经在官方图像中设置的CMD命令? 他们还没有发布他们的Dockerfile,所以我不知道要运行什么。 感谢您的帮助 :)

在成功的TeamCity版本上创builddocker图像

我目前正在尝试模拟在TeamCity中成功构build之后可以创build泊坞窗图像的情况。 我使用Docker Hub来存储我的Docker镜像并构build它们。 之后,我将它们挂接到Tutum(Docker Cloud),最终将它们推送到Microsoft Azure。 什么是最好的做法,以确保总是有一个有效的docker图像在我的回购在docker集线器? 我在TeamCity中运行多个testing,并希望在构build成功时创build一个Docker镜像。 TeamCity服务器没有运行docker主机,但是我的项目有一个Dockerfile。 有任何想法吗? 提前致谢, 蒂姆

asp.net核心2.0自动化docker部署

我使用asp.net-core 2.0开发了一个APP。 现在我在Linux服务器上安装了Docker,并在那里部署了我的APP,现在工作正常。 现在我正在寻找一种自动部署的方法。 所以我想有两件事情: 根据资源库中的更改创build泊坞窗镜像的CI环境。 我必须能够在Linux上安装它,不想使用Windows服务器。 一个自动部署机制将新的docker镜像推送到Linux服务器 所以我经历了很多的教程,所有这些都是同一个问题,要么他们不与.net core 2.0工作,或者他们是不完整的,我不能得到它的工作。 对于#1我宁愿使用TeamCity。 我得到它安装在Linux服务器与Docker,但我不能得到它的工作,build立asp.net-core应用程序,并创buildDocker图像。 我对所有这些东西都非常新颖,如果有人有一些细节的指示,说明如何做到最好,或者至less指示哪条路要走,那就太好了。 我看到唯一的方法让TeamCity: 构buildAPP 创buildDocker镜像 将图片推送到Docker Registry 然后有一个机制,将它从我的Linux服务器上从Dockerregistry。 第一个问题是我无法获得TeamCity的工作。 无法在Linux上find合适的代理程序来构buildAPP并创build泊坞窗图像。 尝试了几个,但有一堆的错误。 第二件事是我真的想避免将图像推送到Docker Registry。 如果我能以某种方式自动推送到我的Linux服务器,那将是非常棒的 我希望为此提供任何提示或一些工作解决scheme,

在dockerizing TeamCity时找不到MSSQL驱动程序

我用这个命令加载了一个TeamCity镜像之后: docker run -it –name teamcity -p 8111:8111 jetbrains/teamcity-server 在selectMSSQL时,我不能超越数据库集合。 我试图find在文档中的解决scheme,我发现这个网页: 用MS SQL Server设置TeamCity 我做了什么文档build议,我下载了微软的JDBC驱动程序6.2 ,我复制了它的内容,这是一个拉链在<Team City Data Directory>/lib/jdbc目录。显然,即使我把包含驱动程序的jar文件进入请求目录,它不被识别。 我试着先拷贝目录中的mssql-jdbc-6.2.2.jre8.jar和mssql-jdbc-6.2.2.jre7.jar文件,然后把所有的mssql-jdbc-6.2.2.jre7.jar文件复制一遍。之后我下载了Microsoft JDBC Driver 6.0认为这可能是一个版本问题,因为文档build议复制sqljdbc42.jar ,我也做了,没有。 也许是因为我的MSSQL服务器也是一个docker的容器,并没有一些特定的驱动程序需要安装在我的机器。

持续集成 – 对构build代理敏感的文件和依赖关系

我想要设置多个CI任务来执行以下任务: 从VCS中检出项目源(由代码更改触发) 下载敏感configuration文件(未签入VCS) build立项目 部署项目 我正在使用TeamCity,但我认为其他地方也适用相同的概念。 我设置了CI服务器和多个构build代理(作为Docker容器在同一台服务器上,或者可能分散在其他计算机上)。 我的理解是,这些构build代理都是以相同的方式进行最低限度的configuration,并且可以随时构build任何项目。 我的问题是如何处理敏感文件。 我的许多版本都需要保存敏感信息/证书的属性文件,而不是签入VCS。 我正在考虑拥有一些全球性的资源库(例如AWS S3),我可以在这里对敏感文件进行encryption,并在需要时让构build代理将其下载。 但是, 这需要所有构build代理都安装AWS CLI软件,以便他们可以下载这些文件。 如何将具有敏感信息的文件传递给分布式构build代理? 如果我继续使用全局存储库,那么我需要在构build代理上安装AWS CLI。 虽然我的问题是关于AWS CLI的,但我可以想象其他项目在构build之前需要安装其他软件。 如何设置构build代理环境,以便可以构build具有不同依赖关系的多个项目? 我是否使用构build所有项目所需的全部软件来设置所有构build代理? 就像一个普通的Docker镜像或者什么东西? 这似乎是一个坏主意,因为它将构buildconfiguration放在不同的地方(TeamCity服务器和一个单独的Dockerfile)。 这也可能导致一个单一的,通用的Docker镜像。 还是我创build一个构build步骤(每个项目),下载并安装一个项目所需的软件? 这似乎是一个更好的主意,但是我每次构build时都要安装软件(如AWS CLI)。 无论该构build代理是否已经安装了该软件。 我也需要担心来自多个项目的软件冲突。 我必须添加清除步骤来删除软件吗? 或者我应该考虑为构build每个项目制作一个Docker容器? 还有另一种方法吗? 提前致谢!