CI/CD 使用 Jenkins 和 ECS
CI/CD with Jenkins and ECS
我正在尝试在 aws 上设置 jenkins,这样每当有新构建时,它就会在 ECS 中为我的项目创建一个新的 docker 容器。我试过这些链接-
我的 Jenkins 机器是一个 EC2 实例,它不是 ECS 集群的一部分。我已按照链接中的建议配置了我的管道,但出现错误 -
Got permission denied while trying to connect to the Docker daemon
socket at unix:///var/run/docker.sock: Post
我用谷歌搜索了这个错误,它要求我授予 jenkins 用户访问 Docker 组的权限,但我的 docker 在没有 jenkins 用户的 ECS 集群中。如果我在这里走在正确的轨道上,我在这里有点困惑。任何帮助将不胜感激。
Any help will be appreciated.
我相信您遇到的错误来自 Jenkins 不允许 运行 docker 在 Jenkins EC2 实例上。默认情况下,Jenkins 用户的安全策略未分配 shell 访问权限。为了检查这一点,你必须在 Jenkins 中启用 shell 用法,然后切换到它,如果你执行 docker info
你应该会遇到同样的错误。
如何规避取决于 Jenkins 盒子上使用的操作系统,但有一些想法:
将jenkins用户加入docker组: In post installation process for docker for linux it据说您需要手动将要使用的任何用户 docker 放入 docker 组。在这种情况下,它将是:
sudo usermod -aG docker jenkins
指示Docker使用jenkins grop:如果你使用的是基于debian的发行版,那么在文件/etc/default/docker
中你可以配置附加 docker 选项:
DOCKER_OPTS=' -G jenkins'
授予 jenkins 用户 sudo 权限:对于明显的安全问题最不推荐,但列在这里只是作为 quick/unsecure 修复。
我正在尝试在 aws 上设置 jenkins,这样每当有新构建时,它就会在 ECS 中为我的项目创建一个新的 docker 容器。我试过这些链接-
我的 Jenkins 机器是一个 EC2 实例,它不是 ECS 集群的一部分。我已按照链接中的建议配置了我的管道,但出现错误 -
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post
我用谷歌搜索了这个错误,它要求我授予 jenkins 用户访问 Docker 组的权限,但我的 docker 在没有 jenkins 用户的 ECS 集群中。如果我在这里走在正确的轨道上,我在这里有点困惑。任何帮助将不胜感激。
Any help will be appreciated.
我相信您遇到的错误来自 Jenkins 不允许 运行 docker 在 Jenkins EC2 实例上。默认情况下,Jenkins 用户的安全策略未分配 shell 访问权限。为了检查这一点,你必须在 Jenkins 中启用 shell 用法,然后切换到它,如果你执行 docker info
你应该会遇到同样的错误。
如何规避取决于 Jenkins 盒子上使用的操作系统,但有一些想法:
将jenkins用户加入docker组: In post installation process for docker for linux it据说您需要手动将要使用的任何用户 docker 放入 docker 组。在这种情况下,它将是:
sudo usermod -aG docker jenkins
指示Docker使用jenkins grop:如果你使用的是基于debian的发行版,那么在文件
/etc/default/docker
中你可以配置附加 docker 选项:DOCKER_OPTS=' -G jenkins'
授予 jenkins 用户 sudo 权限:对于明显的安全问题最不推荐,但列在这里只是作为 quick/unsecure 修复。