曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>數(shù)值算法/人工智能>

利用Docker打造容器化構(gòu)建環(huán)境

大?。?/span>0.6 MB 人氣: 2017-10-11 需要積分:1
Docker和Jenkins像DevOps界的巧克力和花生醬那樣,它們的組合產(chǎn)生了無數(shù)的機會,當(dāng)然也產(chǎn)生了很多難題,筆者將提及這兩個方面。
  本文中,我假定讀者已經(jīng)熟悉Jenkins和Docker,我將把焦點放在特定的配置上而不是把筆墨花費在許多博文已經(jīng)介紹過的入門概念上。
  設(shè)定目標(biāo)
  我所要達成的目標(biāo)其實非常簡單:在一個容器中搭建Jenkins主節(jié)點,并且在多個主機上搭建多個JNLP代理容器。這些代理節(jié)點可以運行在不同的AWS VPC或者ECS上。
  利用Docker打造容器化構(gòu)建環(huán)境
  我的目標(biāo)是得到一個能在任何主機上部署的通用配置,而每個項目分別定義各自的構(gòu)建環(huán)境。這樣各個開發(fā)團隊就可以掌控這份配置,而不用經(jīng)由Jenkins的構(gòu)建團隊。我會盡量避免構(gòu)建一個特定工具集的代理節(jié)點。容器技術(shù)能實現(xiàn)這樣的構(gòu)建環(huán)境,但是要真正把每個細節(jié)都做好絕對是一個挑戰(zhàn)。
  為了實現(xiàn)這個目標(biāo),我還使用了Jenkins Pipeline / Workflow插件。這個插件讓你能非常優(yōu)雅地使用DSL語言描述構(gòu)建過程,例如這樣簡單地定義:
  node(‘test-agent’) { stage “Container Prep”// do the thing in the containerdocker.image(‘maven:3.3.3-jdk-8’).inside { // get the codezstage ‘Checkout’git url: ‘https://github.com/damnhandy/Handy-URI-Templates.git’stage ‘Build’// Do the buildsh “。/mvnw clean install”} }
  這個pipeline會在一個名為”test-agent”的Jenkins代理上執(zhí)行,它會基于“maven”3.3.3-jdk-8”鏡像構(gòu)建一個容器。這個pipeline在物理節(jié)點上能正常運行,但是在容器中運行則會報錯。
  運行在Docker中的Docker
  在容器中運行Jenkins的主或從節(jié)點,可能有人會以為我需要特權(quán)模式來使用”Docker in Docker”,但是我并沒有,Jér?me Petazzoni發(fā)表了一篇文章《用Docker-in-Docker來構(gòu)建持續(xù)集成環(huán)境?請三思》,你應(yīng)該參考一下這篇文章。
  如果你還在使用wrapdocker的腳本,你應(yīng)該問問自己為什么,因為這樣用起來更簡單:
  docker run -v${JENKINS_HOME}:/var/jenkins_home \-v/var/run/docker.sock:/var/run/docker.sock \-p8080:8080-p50000:50000\index.csphere.cn/microimages/jenkins
  這個命令會啟動Jenkins并且可以擁有所有的容器操作功能,所以并不需要特權(quán)模式來啟動容器,也不需要”Docker-in-Docker”模式。
  有個地方需要注意:在這里你不能用官方的Jenkins鏡像,因為jenkins用戶需要屬于docker用戶組,這樣才能使用socket,從而能在容器中的Jenkins調(diào)用docker,最終實現(xiàn)通過Jenkins構(gòu)建和運行其他容器。

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?