Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker、Fastlane和Cocoapod不工作的GitLab CI_Docker_Realm_Gitlab_Cocoapods_Fastlane - Fatal编程技术网

Docker、Fastlane和Cocoapod不工作的GitLab CI

Docker、Fastlane和Cocoapod不工作的GitLab CI,docker,realm,gitlab,cocoapods,fastlane,Docker,Realm,Gitlab,Cocoapods,Fastlane,急需帮助: 已经询问过将gitlab runner register作为“shell”的案例,我尝试在这里问一个非常类似的问题,将gitlab runner register作为“docker” 从3天起,我就开始尝试运行Gitlab CI(使用docker、fastlane——所有这些都是针对具有Cocoapods依赖项的iOS应用程序) 以下是GitLab CI发出的错误消息: 我执行了以下步骤: 安装fastlane() 创建GitLab项目并上载项目存储库() 在MacOS上安装git

急需帮助:

已经询问过将
gitlab runner register
作为“shell”的案例,我尝试在这里问一个非常类似的问题,将
gitlab runner register
作为“docker”

从3天起,我就开始尝试运行Gitlab CI(使用docker、fastlane——所有这些都是针对具有Cocoapods依赖项的iOS应用程序)

以下是GitLab CI发出的错误消息:

我执行了以下步骤:

  • 安装fastlane()

  • 创建GitLab项目并上载项目存储库()

  • 在MacOS上安装gitlab runner

  • 安装Docker(用于桌面)

  • 注册gitlab runner(即打开终端并键入以下内容): (您的令牌可以在GitLab-->设置-->CI/CD下找到)

  • sudo gitlab运行程序寄存器\
    --非交互式\
    --url“https://gitlab.com/" \
    --注册令牌“TOKENABCDEFG”\
    --说明“使用ruby-2.6的MyApp runner”\
    --标记列表ios\
    --执行人“码头工人”\
    --docker image ruby:2.6
    
  • 在Mac上启动docker应用程序

  • 运行docker image(通过在终端中键入以下内容:)

  • docker run-d——命名gitlab runner——始终重新启动\
    -v/Users/Shared/gitlab runner/config:/etc/gitlab runner\
    -v/var/run/docker.sock:/var/run/docker.sock\
    gitlab/gitlab runner:最新版本
    
    在所有这些之后,任何git推送到GitLab项目repo的操作都会自动启动一个管道

    我还尝试使用本地shell(而不是docker),但也没有成功

    无论我尝试了什么,最终都会收到相同的错误消息:


    [08:48:04]:驾驶车道“ios测试”我终于找到了解决方案:

    您的
    gitlab runner注册表不允许有
    sudo

    出于某些原因,有许多教程以不同的方式展示(例如sudo)-例如或其他

    无论如何,在Mac上,您绝对需要将sudo排除在外,并绝对注册为GitLab的“shell”执行者(即,不是“docker”)


    关于如何在iOS项目中使用Gitlab CI。

    我同意,可能重复的问题非常相似。然而,这里的新情况是,我尝试使用Docker使用gitlab ci(在另一个条目中不是这样的)……您仍然以root用户身份运行CocoaPods,这与错误消息告诉您的情况不同。找到一种不这样做的方法(可以通过问一个问题来帮助你理解这是如何通过sudo运行的,你如何改变它或类似的方式)。非常感谢你的帮助。我意识到我犯了一个可怕的错误,调用了
    sudogitlab runner register…
    而不是
    gitlab runner register…
    。但是现在(离开docker,回到shell——因为有篇文章建议将shell用于iOS项目……),我遇到了下一个问题,那就是
    权限被拒绝
    错误。gitlab似乎试图创建一个名为
    builds
    的目录。我确实为gitlab尝试访问mkdir的位置设置了读写权限。但它仍然不起作用。有没有关于如何解决这个许可问题的想法?没有,因为我不会试图去了解到底发生了什么。创建一个包含(仅!)相关信息的新问题,我相信有人能够帮助您。