Gitlab运行程序Virtualbox执行程序不会上传工件

时间:2019-12-09 19:54:21

标签: continuous-integration virtualbox devops gitlab-ci gitlab-ci-runner

我已经在Windows主机上设置了gitlab运行程序,并使其指向lubuntu vm。 vm中还安装了一个gitlab运行程序,但是Windows主机virtualbox执行程序仍然无法上传任何工件。

它一直在说克隆机上没有安装运行器-运行器中是否有东西可以使其擦除克隆的VM的gitlab-runner,或者仅仅是一个不好的克隆过程?

我尝试过的事情:

我确实在要克隆的VM上安装了gitlab-runner。

我还使gitlab ci文件尝试搜索gitlab-runner的gitlab-runner,但找不到它。

作为最后的选择,我安装了gitlab ci文件并在克隆vm时运行gitlab-runner(在before_script:部分中插入gitlab ci文件)-该选项实际上有效并且上传了工件。但是,我认为这不是解决该问题的有效方法,而且相当麻烦,因为每次运行都会向gitlab-server添加一个新运行程序。

  • 回显密码转到此处| sudo -S curl -L-输出/ usr / local / bin / gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

  • 回显密码转到此处| sudo -S chmod + x / usr / local / bin / gitlab-runner

  • 回显密码转到此处| sudo -s gitlab-runner安装 --user =用户名转到此处--working-directory = / home /用户名转到此处

  • 回显密码转到此处| sudo -S gitlab-runner注册-非交互式--url“ gitlab-server-url”-注册令牌“ token”-执行器“ shell”-描述“ vm_runner” --tag-list“ vm” --run-untagged =“ true” --locked =“ false” --access-level =“ not_protected”

    • 回显密码转到此处| sudo -S gitlab-runner start

更新:

我已经将虚拟机更改为新创建的虚拟机,现在出现此错误:

Uploading artifacts...
panic: reflect: call of reflect.Value.Type on zero Value [recovered]
    panic: reflect: call of reflect.Value.Type on zero Value

goroutine 1 [running]:
main.main.func1()
    /go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/main.go:32 +0x7f
panic(0x14fcc60, 0xc4204aa200)
    /usr/local/go/src/runtime/panic.go:489 +0x2cf
reflect.Value.Type(0x0, 0x0, 0x0, 0x410a9f, 0xc42016d250)
    /usr/local/go/src/reflect/value.go:1688 +0x21f
gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/gitlab.com/ayufan/golang-cli-helpers.convertMarshal(0x0, 0x0, 0x0, 0xc42016d2b0, 0x4d5dc1, 0xc420091540, 0xc42016d2c0, 0x41db87)
    /go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/gitlab.com/ayufan/golang-cli-helpers/convert.go:47 +0x43
gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/gitlab.com/ayufan/golang-cli-helpers.convertToString(0x0, 0x0, 0x0, 0x0, 0x0, 0xc42037af80, 0x444fb8, 0x2a, 0x2dc62e6d1d9)
    /go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/gitlab.com/ayufan/golang-cli-helpers/convert.go:58 +0x5a
gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/gitlab.com/ayufan/golang-cli-helpers.StructFieldValue.String(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
    /go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/gitlab.com/ayufan/golang-cli-helpers/struct_field.go:32 +0x7b
gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/gitlab.com/ayufan/golang-cli-helpers.(*StructFieldValue).String(0xc42037af80, 0x15f73a0, 0xc42037af80)
    <autogenerated>:5 +0x70
flag.isZeroValue(0xc4203a33c0, 0x0, 0x0, 0x14922e7)
    /usr/local/go/src/flag/flag.go:395 +0x102
flag.(*FlagSet).PrintDefaults.func1(0xc4203a33c0)
    /usr/local/go/src/flag/flag.go:469 +0x1b9
flag.(*FlagSet).VisitAll(0xc4204a8060, 0xc42016d610)
    /usr/local/go/src/flag/flag.go:325 +0x67
flag.(*FlagSet).PrintDefaults(0xc4204a8060)
    /usr/local/go/src/flag/flag.go:478 +0x4f
flag.(*FlagSet).defaultUsage(0xc4204a8060)
    /usr/local/go/src/flag/flag.go:511 +0x8e
flag.(*FlagSet).(flag.defaultUsage)-fm()
    /usr/local/go/src/flag/flag.go:973 +0x2a
flag.(*FlagSet).usage(0xc4204a8060)
    /usr/local/go/src/flag/flag.go:826 +0x2f
flag.(*FlagSet).failf(0xc4204a8060, 0x1719425, 0x22, 0xc42016d898, 0x1, 0x1, 0x0, 0x16f8e6d)
    /usr/local/go/src/flag/flag.go:816 +0xea
flag.(*FlagSet).parseOne(0xc4204a8060, 0xc42000e101, 0x0, 0x0)
    /usr/local/go/src/flag/flag.go:871 +0x2ee
flag.(*FlagSet).Parse(0xc4204a8060, 0xc42000e120, 0xe, 0xe, 0x31de860, 0x0)
    /usr/local/go/src/flag/flag.go:913 +0x60
gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/github.com/codegangsta/cli.Command.Run(0x17057a4, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1724306, 0x2c, 0x0, ...)
    /go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/github.com/codegangsta/cli/command.go:98 +0xb59
gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/github.com/codegangsta/cli.(*App).Run(0xc420363b00, 0xc42000e100, 0x10, 0x10, 0x0, 0x0)
    /go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/vendor/github.com/codegangsta/cli/app.go:159 +0x56f
main.main()
    /go/src/gitlab.com/gitlab-org/gitlab-ci-multi-runner/main.go:58 +0x2af

1 个答案:

答案 0 :(得分:0)

所以我想通了。

问题与我如何手动安装gitlab-runner坚持虚拟机有关。 相反,我要做的是创建一个全新的虚拟机;

  1. 完整的git,openssh服务器,openssh-lient
  2. 运行ssh-keygen(我不确定是否需要此步骤。)
  3. 然后关闭了虚拟机。

使用了virtualbox执行程序,并将其指向新的虚拟机,并且运行良好。

对于任何找到这个并且搜索了整个google却发现0帮助的人,这是我如何设置跑步者的方法。

  1. 下载并安装gitlab运行程序(对我来说,我使用的是Windows,如果您想将运行程序作为服务运行,则需要修复一些安全性。)他们的网站提供了一些非常好的安装信息。
  2. 按照自己的方式进行安装,注意,您必须使用的用户名和密码与用于登录要运行运行程序的VM所使用的基本密码相同。
    • 要注意的另一件事是,您需要告诉跑步者虚拟机的名称,该名称可以在Virtualbox中找到,而仅仅是它的名称。
  3. 然后,您可以使用“ gitlab-runner --debug start”启动运行器,以确保其正常运行。

然后返回此答案的顶部,以了解如何确保需要配置虚拟机。

希望这会有所帮助。