簡體   English   中英

Jenkins和ECS的CI / CD

[英]CI/CD with Jenkins and ECS

我正在嘗試在AWS上設置詹金斯(Jenkins),以便每當有新的構建版本時,它將在ECS中為我的項目創建一個新的Docker容器。 我嘗試了這些鏈接-

https://medium.com/@sachin.arote1/deploy-docker-containers-on-aws-ecs-cluster-via-jenkins-605eee0d22b0

https://docs.aws.amazon.com/AWSGettingStartedContinuousDeliveryPipeline/latest/GettingStarted/CICD_Jenkins_Pipeline.html

我的Jenkins機器是EC2實例,並且不屬於ECS集群。 我已經按照鏈接中的建議配置了管道,但出現了錯誤-

嘗試在unix:///var/run/docker.sock上連接到Docker守護程序套接字時獲得的權限被拒絕:發布

我搜索了該錯誤,並要求我授予jenkins用戶訪問Docker組的權限,但我的docker位於沒有jenkins用戶的ECS集群中。 如果我在正確的道路上,我會感到困惑。 任何幫助將不勝感激。

任何幫助將不勝感激。

我相信您遇到的錯誤來自Jenkins,不允許其在Jenkins EC2實例上運行docker。 默認情況下,未為Jenkins用戶分配安全策略外殼訪問權限。 為了檢查這一點,您必須在Jenkins中啟用shell用法,然后切換到它,並且如果您執行docker info ,則應該遇到相同的錯誤。

如何規避取決於Jenkins盒上使用的操作系統,但有一些想法:

  • 將jenkins用戶添加到docker組 :在Linux的docker 安裝后過程中 ,據說您需要手動將要使用docker的任何用戶放置到docker group中。 在這種情況下,它將是:

     sudo usermod -aG docker jenkins 
  • 指示Docker使用jenkins grop :如果您使用的是基於debian的發行版,則可以在文件/etc/default/docker中配置其他docker選項:

     DOCKER_OPTS=' -G jenkins' 
  • 授予jenkins用戶sudo特權 :對於明顯的安全問題,最不推薦使用,但在此僅作為快速/不安全的修復程序列出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM