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

问题描述 投票:0回答:1

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

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

我尝试过的事情:

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

我也使gitlab ci文件尝试搜索gitlab-runner并没有找到它的gitlab-runner。

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

  • echo passwordgoeshere | sudo -S curl -L-输出/ usr / local / bin / gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

  • echo passwordgoeshere | sudo -S chmod + x / usr / local / bin / gitlab-runner

  • echo passwordgoeshere | sudo -s gitlab-runner安装--user =用户名转到此处--working-directory = / home /用户名转到此处

  • echo passwordgoeshere | sudo -S gitlab-runner注册-非交互式--url“ gitlab-server-url”-注册令牌“ token” –执行者“ shell”-描述“ vm_runner” --tag-list“ vm” --run-untagged =“ true” --locked =“ false” --access-level =“ not_protected”

    • echo passwordgoeshere | 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
continuous-integration virtualbox devops gitlab-ci gitlab-ci-runner
1个回答
0
投票

所以我想通了。

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

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

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

对于任何找到这个的人,已经搜索了所有Google,但发现0帮助的是我如何设置跑步者的。

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

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

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.