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

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

上次主要說(shuō)了在githubCI的服務(wù)器,并且也演示了github的runner執(zhí)行CICD,這次通過(guò)真實(shí)的JAVA-Maven項(xiàng)目來(lái)演示下CICD。項(xiàng)目通過(guò)gitlab和gitlabCI進(jìn)行CICD。
源碼地址:https://github.com/limingios/gitlabci-maven
源碼:https://github.com/limingios/docker/tree/master/No.11

隨便找一個(gè)開(kāi)源的JAVA-Maven的在github項(xiàng)目。添加到gitlab上。

copy到gitlab上

  • new project


  • Git repository URL

https://github.com/limingios/gitlabci-maven

  • 點(diǎn)擊create project

runner管理新的gitlabci-maven

maven的環(huán)境

 sudo gitlab-ci-multi-runner register

新建github-ci 文件

# These are the default stages. You don't need to explicitly define them. But you could define any stages you need.
stages:
  - build
  - test
  - deploy

# This is the name of the job. You can choose it freely.
maven_build:
  # A job is always executed within a stage. If no stage is set, it defaults to 'test'
  stage: test
  # Since we require Maven for this job, we can restrict the job to runners with a certain tag. Of course, we need to configure a runner with the tag maven with a maven installation
  tags:
    - maven
  # Here you can execute arbitrate terminal commands.
  # If any of the commands returns a non zero exit code the job fails
  script:
    - echo "Building project with maven"
    - mvn verify

開(kāi)始CI操作

修改.gitlab-ci.yml 就開(kāi)啟了自動(dòng)構(gòu)建模式。

  • 報(bào)錯(cuò)了。 跟python當(dāng)初構(gòu)建的時(shí)候一樣。
Running with gitlab-ci-multi-runner 9.5.1 (96b34cc)
  on maven (e6c8a28d)
Using Docker executor with image maven:latest ...
Using docker image sha256:c4ef2f017e30bbabddf847a3f458985e55ccc24a2be7dbdf72dc032e7bece3e5 for predefined container...
Pulling docker image maven:latest ...
Using docker image maven:latest ID=sha256:1361ae58b0a463172267a0622430ad5f4f8108c4d4b7b1ae7d552e367cf92413 for build container...
Running on runner-e6c8a28d-project-3-concurrent-0 via gitlab-ci...
Cloning repository...
Cloning into '/builds/root/gitlabci-maven'...
fatal: unable to access 'http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.example.com/root/gitlabci-maven.git/': Couldn't resolve host 'gitlab.example.com'
ERROR: Job failed: exit code 1

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

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

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

成功了 重新Retry

6666 美滋滋,當(dāng)初懟了個(gè)python現(xiàn)在java遇到這個(gè)問(wèn)題知道咋解決了。

用的不是阿里云,可能比較慢,不過(guò)是演示,之后想想辦法直接在腳本里面配置下私有庫(kù)的地址。

PS:這次主要給大家簡(jiǎn)單的介紹下CI,還沒(méi)設(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上通過(guò)vagrant安裝虛擬機(jī)(七)
  8. 如何在window上通過(guò)vagrant安裝虛擬機(jī)(八)
  9. docker-Machine的本地使用(九)
  10. docker-Machine的本地使用(十)
  11. 在linux/mac下通過(guò)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 通過(guò)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集群里通過(guò)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簡(jiǎn)介(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簡(jiǎn)介和演示(67)
  68. k8s的NodePort類(lèi)型Service以及Label的簡(jiǎn)單實(shí)用(68)
  69. CI/CD持續(xù)集成/持續(xù)部署(69)
  70. docker之CI/CD持續(xù)集成-gitlab安裝(70)
  71. docker之CI/CD持續(xù)集成—GitLab CI服務(wù)器(71)
  72. docker之CI/CD持續(xù)集成—真實(shí)Python項(xiàng)目的CI演示(72)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,156評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,401評(píng)論 3 415
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 176,069評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 62,873評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,635評(píng)論 6 408
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,128評(píng)論 1 323
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,203評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,365評(píng)論 0 288
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,881評(píng)論 1 334
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,733評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,935評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,475評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,172評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 34,582評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 35,821評(píng)論 1 282
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,595評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,908評(píng)論 2 372

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