『中級(jí)篇』docker之CI/CD持續(xù)集成—真實(shí)Python項(xiàng)目的CI演示(72)

原創(chuàng)文章随闽,歡迎轉(zhuǎn)載。轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自IT人故事會(huì),謝謝翰意!
原文鏈接地址:『中級(jí)篇』docker之CI/CD持續(xù)集成—真實(shí)Python項(xiàng)目的CI演示(72)

上次主要說了在githubCI的服務(wù)器住涉,并且也演示了github的runner執(zhí)行CICD拢切,這次通過真實(shí)的python項(xiàng)目來演示下CICD。項(xiàng)目通過gitlab和gitlabCI進(jìn)行CICD秆吵。
源碼地址:https://github.com/limingios/docker-cloud-flask-demo
源碼:https://github.com/limingios/docker/tree/master/No.11

隨便找一個(gè)開源的python的在github項(xiàng)目淮椰。添加到gitlab上。

copy到gitlab上

  • new project


  • Git repository URL

https://github.com/limingios/docker-cloud-flask-demo

  • 點(diǎn)擊create project

思考

上次注冊(cè)了ci的runner纳寂,其實(shí)這個(gè)runner就是一個(gè)shell主穗,通過命令的形式在ci服務(wù)器上運(yùn)行該運(yùn)行的程序。有可能ci服務(wù)器沒有裝python2 或者python3毙芜,我們可以在ci服務(wù)器里面裝python2或者python3忽媒,但是如果想一下,這個(gè)ci服務(wù)器有很多人在用的話腋粥,python有很多環(huán)境晦雨,python有很多不同的依賴,如果環(huán)境全部都裝在這個(gè)shell里面是不是很混亂隘冲,不光是python項(xiàng)目闹瞧,如果有java項(xiàng)目啊,js的項(xiàng)目都裝一下包肯定會(huì)很亂很亂展辞,怎么去解決這個(gè)問題奥邮,看來只能通過docker了。

runner管理新的flask-demo

python2.7的環(huán)境

 sudo gitlab-ci-multi-runner register

python3.4的環(huán)境

 sudo gitlab-ci-multi-runner register
sudo gitlab-ci-multi-runner verify

新建github-ci 文件

stages:
  - style
  - test

pep8:
  stage: style
  script:
    - pip install tox
    - tox -e pep8
  tags:
    - python2.7
    
unittest-py27:
   stage: test
   script:
     - pip install tox
     - tox -e py27
   tags:
     - python2.7

unittest-py34:
   stage: test
   script:
     - pip install tox
     - tox -e py34
   tags:
     - python3/4

本地docker沒有提前拉取鏡像罗珍,下載python2.7 和 python3.4的比較慢洽腺,我直接增加了加速器

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://b81aace9.m.daocloud.io
sudo systemctl restart docker 

結(jié)果還是報(bào)錯(cuò)了,開始分析:

Cloning repository...
Cloning into '/builds/root/flask-demo'...
fatal: unable to access 'http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.example.com/root/flask-demo.git/': Couldn't resolve host 'gitlab.example.com'
ERROR: Job failed: exit code 1

Runner啟動(dòng)的docker容器里無法訪問到gitlab.example.com這個(gè)地址(能訪問到才怪)覆旱。這一般是由于我們的測(cè)試環(huán)境沒有使用域名導(dǎo)致的蘸朋,gitlab論壇里也不少人討論這個(gè)問題,如果你是在部署正式的gitlab環(huán)境扣唱,那你自然會(huì)有一個(gè)域名來使用藕坯。不過我這里只是搭建測(cè)試環(huán)境团南,所以我使用了一種投機(jī)的方法:

修改Runner的/etc/gitlab-runner/config.toml文件,在其中的[runner.docker]下增加:

sudo vi /etc/gitlab-runner/config.toml

成功了 重新Retry

PS:這次主要給大家簡單的介紹下CI堕担,還沒設(shè)計(jì)到CD已慢。下次吧!


往期精彩
  1. docker導(dǎo)學(xué)(一)
  2. 容器的技術(shù)概述(二)
  3. docker的魅力初體驗(yàn)-5分鐘安裝wordpress不走彎路(三)
  4. docker官網(wǎng)介紹(四)
  5. 如何在mac上安裝docker(五)
  6. 如何在window上安裝docker(六)
  7. 如何在mac上通過vagrant安裝虛擬機(jī)(七)
  8. 如何在window上通過vagrant安裝虛擬機(jī)(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通過Docker-Machine在阿里云上的使用(11)
  12. docker架構(gòu)和底層技術(shù)(12)
  13. docker Image概述(13)
  14. 手動(dòng)建立一個(gè)base Image(14)
  15. 什么是Container(15)
  16. 構(gòu)建自己的Docker鏡像(16)
  17. Dockerfile詳解(17)
  18. 鏡像的發(fā)布(18)
  19. Dockerfile實(shí)戰(zhàn)(19)
  20. 容器的操作(20)
  21. Dockerfile實(shí)戰(zhàn)CMD和ENTRTYPOINT的配合(21)
  22. 容器的資源限制(22)
  23. docker網(wǎng)絡(luò)(23)
  24. docker學(xué)習(xí)必會(huì)網(wǎng)絡(luò)基礎(chǔ)(24)
  25. Linux網(wǎng)絡(luò)命名空間(25)
  26. Docker Bridge詳解(26)
  27. 容器之間的Link(27)
  28. 容器的端口映射(28)
  29. 容器網(wǎng)絡(luò)之host和none(29)
  30. 多容器復(fù)雜應(yīng)用的部署(30)
  31. overlay網(wǎng)絡(luò)和etcd實(shí)現(xiàn)多機(jī)的容器通信(31)
  32. docker的數(shù)據(jù)持久化存儲(chǔ)和數(shù)據(jù)共享(32)
  33. windows下vagrant 通過SecureCRT連接centos7(33)
  34. 數(shù)據(jù)持久化之Data Volume(34)
  35. 數(shù)據(jù)持久化之bind Mounting(35)
  36. docker 使用bind Mounting實(shí)戰(zhàn)(36)
  37. docker容器安裝wordpress(37)
  38. docker Compose到底是什么(38)
  39. Docker Compose的安裝和基本使用(39)
  40. Docker 水平擴(kuò)展和負(fù)載均衡(40)
  41. Docker compose 部署一個(gè)復(fù)雜的應(yīng)用(41)
  42. 容器編排Docker Swarm介紹(42)
  43. docker-swarm創(chuàng)建一個(gè)多節(jié)點(diǎn)集群(43)
  44. play with docker 的使用(44)
  45. docker-swarm中的Service創(chuàng)建維護(hù)和水平擴(kuò)展(45)
  46. 在docker-swarm集群里通過serivce部署wordpress(46)
  47. 集群服務(wù)間通信之RoutingMesh(47)
  48. RoutingMesh之Ingress負(fù)載均衡(48)
  49. Docker-Stack部署wordpress(49)
  50. Docker-Stack部署投票應(yīng)用(50)
  51. Docker-Secret管理和使用(51)
  52. Docker service更新(52)
  53. Docker的收費(fèi)模式(53)
  54. Docker-cloud介紹(54)
  55. Docker Cloud自動(dòng)構(gòu)建 Docker image(55)
  56. Docker企業(yè)版的在線免費(fèi)體驗(yàn)(56)
  57. docker企業(yè)版本地安裝之UCP(57)
  58. docker體驗(yàn)阿里云的容器服務(wù)(58)
  59. 阿里云安裝Docker企業(yè)版UCP和DTR(59)
  60. Kubenetes簡介(60)
  61. Minikube快速搭建K8S單節(jié)點(diǎn)環(huán)境(61)
  62. K8S最小調(diào)度單位Pod(62)
  63. K8S橫向擴(kuò)展功能ReplicaSet和ReplicationController(63)
  64. k8s重要的Deployment(64)
  65. Vagrant在本地搭建多節(jié)點(diǎn)K8S集群(65)
  66. k8s基礎(chǔ)網(wǎng)絡(luò)Cluster Network(66)
  67. k8s的Service簡介和演示(67)
  68. k8s的NodePort類型Service以及Label的簡單實(shí)用(68)
  69. CI/CD持續(xù)集成/持續(xù)部署(69)
  70. docker之CI/CD持續(xù)集成-gitlab安裝(70)
  71. docker之CI/CD持續(xù)集成—GitLab CI服務(wù)器(71)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末霹购,一起剝皮案震驚了整個(gè)濱河市佑惠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌齐疙,老刑警劉巖膜楷,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異贞奋,居然都是意外死亡赌厅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門轿塔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來特愿,“玉大人,你說我怎么就攤上這事勾缭∽嵴希” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵俩由,是天一觀的道長毒嫡。 經(jīng)常有香客問我,道長幻梯,這世上最難降的妖魔是什么兜畸? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮碘梢,結(jié)果婚禮上咬摇,老公的妹妹穿的比我還像新娘。我一直安慰自己痘系,他們只是感情好菲嘴,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著汰翠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪昭雌。 梳的紋絲不亂的頭發(fā)上复唤,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音烛卧,去河邊找鬼佛纫。 笑死妓局,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呈宇。 我是一名探鬼主播好爬,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼甥啄!你這毒婦竟也來了存炮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤蜈漓,失蹤者是張志新(化名)和其女友劉穎穆桂,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體融虽,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡享完,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了有额。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片般又。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖巍佑,靈堂內(nèi)的尸體忽然破棺而出茴迁,到底是詐尸還是另有隱情,我是刑警寧澤句狼,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布笋熬,位于F島的核電站,受9級(jí)特大地震影響腻菇,放射性物質(zhì)發(fā)生泄漏胳螟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一筹吐、第九天 我趴在偏房一處隱蔽的房頂上張望糖耸。 院中可真熱鬧,春花似錦丘薛、人聲如沸嘉竟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舍扰。三九已至,卻和暖如春希坚,著一層夾襖步出監(jiān)牢的瞬間边苹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來泰國打工裁僧, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留个束,地道東北人慕购。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像茬底,于是被迫代替她去往敵國和親沪悲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容