标签: continuous-integration

致命:无法启动 gitlab-runner:“launchctl”因 stderr 失败:加载失败:5:输入/输出错误

安装并注册 gitlab-runner 后,当我运行时,gitlab-runner start我收到此错误消息。这会是什么原因呢?

Runtime platform                                    arch=amd64 os=darwin pid=65915 revision=c1edb478 version=14.0.1
FATAL: Failed to start gitlab-runner: "launchctl" failed with stderr: Load failed: 5: Input/output error
Run Code Online (Sandbox Code Playgroud)

macos continuous-integration gitlab

40
推荐指数
5
解决办法
2万
查看次数

如何在Jenkins中设置SVN凭据?

有没有办法设置Jenkins在执行SVN提交时使用的凭据?我找不到办法这样做.

如果我在我的机器上运行Jenkins服务器,其中安装了SVN客户端并且我的凭据被缓存,它似乎工作正常,但如果我尝试在另一台机器上运行Jenkins服务器,那么我会收到错误.
ERROR: Failed to tag org.tmatesoft.svn.core.SVNCancelException: svn: No credential to try. Authentication failed

svn version-control continuous-integration jenkins

39
推荐指数
3
解决办法
8万
查看次数

如何自动将NuGet包更新到最新的可用版本

我有两个存储库,我需要从另一个存储库中编译库.我不想手动检查repo1的更新库,并复制/提交到repo2,因为这是愚蠢的.我已经在每个必要库的构建上创建了repo1构建NuGet包,并将它们发布到内部NuGet服务器.然后repo2中的项目可以引用这些NuGet包,一切都(几乎)正常工作.

最后一个障碍是自动更新repo2项目中的NuGet包.由于我不知道repo1中的库何时会更新(我不应该),我想在repo2中的项目上进行某种构建事件,它将自动更新NuGet包.我目前只有一个预构建事件,但由于packages.config文件包含已安装软件包的版本号,我不断在repo2中获取修改过的文件(packages.config文件得到更新).

所以我的问题是:什么是自动升级NuGet包而不破坏我的repo2 VCS​​的好方法?ScottGu说这里(在评论中)可以将软件包升级挂钩到CI版本,但他没有说明我当前的解决方案是如何混乱的.有没有我错过的内置方式?或者更好的解决方案?

continuous-integration nuget nuget-package

39
推荐指数
1
解决办法
2万
查看次数

Hudson构建时间趋势插件?

是否有一个插件可以让我为哈德森构建创建一个"趋势"图表,显示该项目的构建时间?

我的任务是加快构建速度,我希望在加快速度的同时展现出一个不错的趋势.

continuous-integration hudson jenkins jenkins-plugins

38
推荐指数
3
解决办法
1万
查看次数

Jenkins和多配置(矩阵)工作

为什么Jenkins有两种工作,包括多配置项目和自由式项目项目?我读到某个地方,一旦你选择其中一个,你就无法转换到另一个(很容易).为什么我不总是选择多配置项目以便为将来的更改安全?

我想在Windows和Unix(以及其他平台)上为项目构建设置构建.我发现了这个问题),问同样的问题,但我没有得到答案.为什么我需要三个矩阵项目(而不是三个自由式项目),每个平台一个?为什么我不能将它们全部保存在一个矩阵中,平台AND(例如)一轴上的gcc版本和另一个上的(我的)软件版本?

我也阅读了这篇博客文章,但它在同一台机器上构建了所​​有内容,只有不同的Python版本.

简而言之:大多数人如何配置针对许多不同平台的多配置项目?

continuous-integration jenkins multi-configuration

38
推荐指数
2
解决办法
4万
查看次数

功能切换与功能分支

什么是"功能切换"和"功能分支"以及它们之间的区别是什么?

优缺点都有什么?为什么一个比另一个好?

我在Google上发现了一些关于此问题的文章,我倾向于参加"功能切换"阵营,但我不相信"功能切换"在所有情况下都是更好的选择.

version-control continuous-integration feature-branch featuretoggle

38
推荐指数
3
解决办法
2万
查看次数

获取GitLab CI以克隆私有存储库

我设置了GitLab和GitLab CI来托管和测试我的一些私人回购.对于我在这个系统下的作曲家模块,我设置了Satis来解析我的私人包.

显然这些私有包需要一个ssh密钥来克隆它们,我在终端中工作 - 我可以运行composer install并获取这些包,只要我ssh-add在shell中添加了密钥.

但是,当在GitLab CI中运行我的测试时,如果项目具有任何这些依赖项,则测试将无法完成,因为我的GitLab实例需要身份验证才能获得deps(显然),并且测试失败了Host key verification failed.

我的问题是如何设置它以便当跑步者运行测试时它可以在没有密码的情况下对gitlab进行身份验证?我已经尝试在我的runners ~/.ssh文件夹中放置一个无密码的ssh-key ,但是构建甚至不会添加密钥,"eval ssh-agent -s"后面跟ssh-add似乎没有说代理没有运行...

ssh continuous-integration gitlab gitlab-ci gitlab-ci-runner

38
推荐指数
5
解决办法
2万
查看次数

TeamCity构建代理从何处获取其路径环境?

我正在尝试设置TeamCity来构建我的项目,但是我的psake buildscript失败了,其原因被缩小到无法找到git可执行文件,这应该是在路径上.当我启动PowerShell并自己执行该操作时,一切正常.

Path环境变量的内容(如"Windows环境变量"对话框中的"系统变量"列表以及注册表中所示HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment\Path)是

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;c:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Git\cmd
Run Code Online (Sandbox Code Playgroud)

但是TeamCity说它的env.Path就是

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Windows\System32\WindowsPowerShell\v1.0
Run Code Online (Sandbox Code Playgroud)

我重新启动了计算机(多次),这无济于事.

为什么TeamCity构建代理的PATH变量与系统默认变量不同,我该如何解决?

teamcity continuous-integration environment-variables psake teamcity-6

37
推荐指数
4
解决办法
2万
查看次数

使用密钥库在Travis CI上签署Android应用程序的发布版本的最佳做法是什么?

我一直在使用Travis CI来构建我的Android应用程序.我正在使用debug.keystore我推送到公共存储库的调试版本中对其进行签名

但我想构建发布版本并使用此gradle插件将其上传到Google Play商店.

此过程需要a keystorep12证书文件.

虽然我可以将加密的环境变量添加到Travis CI,但我不知道存储这些文件的最佳方法.

问题1:这样做的最佳做法是什么?有人可以提供开源实现吗?(我找不到一个)

一种可能的实现:安全地存储用户名和密码作为环境变量.将文件存储在启用SSL的环境中,并使用这些用户名和密码通过简单的HTTP身份验证保护它们.curl在构建过程开始之前使用它们进行下载.

问题2这种实施是否有意义?它安全吗?

额外:这2篇博文是与此相关的很好的资料,但不幸的是,它们都没有回答这个问题.

http://stablekernel.com/blog/deploying-google-play-continuous-delivery-android-part-4/ https://www.bignerdranch.com/blog/continuous-delivery-for-android/

continuous-integration android travis-ci

37
推荐指数
1
解决办法
4905
查看次数

docker-in-docker(dind)服务在gitlab ci中的作用

根据官方gitlab文档,docker buildci管道内启用的一种方法是使用dind服务(就gitlab-ci 服务而言).

但是,由于在docker执行程序上运行ci作业总是如此,因此docker:latest也需要图像.

有人能解释一下:

  • docker:dinddocker:latest图像有什么区别?
  • (最重要的):为什么这两个服务和所需要的泊坞窗图像(如所示在这个例子中,从GitHub的文档链接)来执行如docker buildwhithin一个CI的工作吗?不是docker:latest图像(作业将在其中执行!)包含docker守护程序(我认为docker-compose也是),它们是我们需要的命令所必需的工具(例如docker build,docker push等等)?

除非我错了,否则问题或多或少变成:

为什么docker客户端和docker守护程序不能驻留在同一个docker(启用)容器中

continuous-integration gitlab docker gitlab-ci

37
推荐指数
1
解决办法
1万
查看次数