成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)-創(chuàng)新互聯(lián)

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請注明:轉(zhuǎn)載自IT人故事會,謝謝!
原文鏈接地址:『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

創(chuàng)新互聯(lián)專注于道縣企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站開發(fā)。道縣網(wǎng)站建設(shè)公司,為道縣等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

開始想用docker registry做私有鏡像庫,后來放棄了,知道的老鐵應(yīng)該知道這個(gè)玩意沒有界面很不爽,后來選擇了Harbor,還是通過vagrant 創(chuàng)建一個(gè)虛擬服務(wù)器,這樣下來一共創(chuàng)建3個(gè)了,也就在生產(chǎn)環(huán)境下估計(jì)需要3個(gè)以上才可以完成整個(gè)的CICD持續(xù)化集成。前期的3個(gè)要求都是4g雙核的,gitlab,gitlabci,Harbor 都是這樣要求的。我的電腦i7處理器,16g內(nèi)存讓老鐵看看跑起來后的效果。源碼:https://github.com/limingios/docker/tree/master/No.11

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

通過vagrant 安裝

vagrant reload

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

下載Harbor

  • 選擇目前最新版本1.5.2
    https://github.com/vmware/harbor/releases
    我選擇的是online版本,兩種版本基本上差不多。?
    sudo yum -y install lrzsz
    #在windows下載的1.5.2 online 上傳上去
    rz

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

  • 解壓harbor

    tar xvf harbor-online-installer-v1.5.2.tgz
  • 安裝

    cd harbor
    sudo ./install.sh

    『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

  • 需要換成另外一種安裝方法。

    sudo ./prepare

    『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

  • 真正的安裝
    sudo docker-compose up -d

    『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

安裝成功

訪問機(jī)器:172.28.128.6 我是自動(dòng)獲取的ip

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

正常訪問
用戶名:admin
密碼:Harbor12345
可以執(zhí)行如下的命令進(jìn)行停止和啟動(dòng)

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

停止

sudo docker-compose stop

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

啟動(dòng)

sudo docker-compose start

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

測試harbor

  • 啟動(dòng)服務(wù)

    sudo serivce docker restart
    cd harbor
    sudo docker-compose start

    『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

  • 修改參數(shù)

    docker默認(rèn)是從官方拉取鏡像的,并且從1.12版本之后,默認(rèn)私有倉庫是使用https來進(jìn)行連接,所以我們這里需要進(jìn)行一些相應(yīng)的修改:

sudo vi /etc/docker/daemon.json
#寫入{"insecure-registries":["172.28.128.6"]}

 sudo systemctl restart docker

目前很多文章都是通過修改docker的配置文件“etc/systemconfig/docker",重啟docker來解決這個(gè)問題。但發(fā)現(xiàn)docker1.12.3版本并無此文件,根據(jù)網(wǎng)上創(chuàng)建此文件,并填入相應(yīng)內(nèi)容,重啟docker無效果,仍然報(bào)此錯(cuò)誤。
解決方法:在”/etc/docker/“目錄下,創(chuàng)建”daemon.json“文件。在文件中寫入

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

harbor 就是使用的80端口,根本不就需要在docker-compose.yml 配置什么5000端口。

#因?yàn)闆]配置http的過濾, 某人是使用https,就拒絕了。
connect: connection refused
#配置了上邊的insecure-registries
server gave HTTP response to HTTPS client

最后登錄,直接sudo docker login 游戲地址不要加什么端口號
用戶名:admin
密碼:Harbor12345

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

push 鏡像試試

  • 新建用戶

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

  • 新建項(xiàng)目

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

#這個(gè)錯(cuò)誤,就是未建立項(xiàng)目。
f9d9e4e6e2f0: Preparing 
denied: requested access to the resource is denied
  • push項(xiàng)目
    
    sudo docker pull busybox
    sudo docker tag busybox 172.28.128.6/idig8/busybox
    sudo docker login 172.28.128.6 -u idig8 -p 123456789
    sudo docker push 172.28.128.6/idig8/busybox

![](/upload/otherpic15/11223715-1dd1da248f4d736b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

>終于成功了,前前后后大概懟了3個(gè)多小時(shí),從10點(diǎn)對到了凌晨1點(diǎn)。吸口煙,百度里面太多坑爹了,很多人寫文章就是直接復(fù)制,轉(zhuǎn)載我不知道他到底實(shí)踐沒有,我這邊都是邊實(shí)踐幫告訴大家咋用。感覺harbor真的比docker 倉庫爽太多了,看到中文的那一刻我感覺我以后必須用這個(gè)放棄docker倉庫。

### 遠(yuǎn)程連接harbor
* 查找Docker的服務(wù)文件:登錄到已經(jīng)安裝Docker的服務(wù)器,輸入 systemctl status docker 查看Docker的service文件。

``` bash
sudo systemctl status docker

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

  • 編輯docker.service文件:在ExecStart處添加 –insecure-registry 參數(shù)。

    sudo vi /usr/lib/systemd/system/docker.service

    『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

  • 重新加載service文件,重啟docker服務(wù)。
    sudo systemctl daemon-reload
    sudo systemctl restart docker

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

  • 嘗試遠(yuǎn)程登錄
    sudo docker login http://172.28.128.6 -u admin -p Harbor12345

    『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

gitlab gitlab-ci harbor

通過gitlab-ci往harbor上打?qū)?yīng)的鏡像包

  • 修改 .gitlab-ci.yml

    增加release,當(dāng)打包的時(shí)候執(zhí)行生成鏡像并發(fā)送到遠(yuǎn)程harbor服務(wù)器上。
    另外說明下,雖然咱們在crt編輯器連接linux的時(shí)候需要前面加上sudo,但是在script腳本的時(shí)候,不允許加入sudo,如果加了 就會報(bào)錯(cuò)。

stages:
  - style
  - test
  - deploy
  - release

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-deploy:
   stage: deploy
   script:
     - docker build -t flask-demo .
     - if [ $( docker ps -aq --filter name=web) ]; then docker rm -f web;fi
     - docker run -d -p 5000:5000 --name web flask-demo
   tags:
     - test1
   only:
     - master
docker-image-release:
   stage: release
   script:
     - docker login 172.28.128.6 -u idig8 -p 123456789
     - docker build -t 172.28.128.6/idig8/flask-demo:$CI_COMMIT_TAG .
     - docker login 172.28.128.6 -u idig8 -p 1qaz@WSX3edc
     - docker push 172.28.128.6/idig8/flask-demo:$CI_COMMIT_TAG
   tags:
     - test1
   only:
     - tags

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

這個(gè)執(zhí)行后,就會自動(dòng)進(jìn)行pipline操作,然后通過merge到master分支

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76).

pipline 執(zhí)行通過后,可以進(jìn)行merge到master分支

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

合并到master分支,會自動(dòng)觸發(fā)pipline,多執(zhí)行deploy操作

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

  • 如果我們想已經(jīng)到master分支了,就光執(zhí)行tag打包生成鏡像怎么搞呢

    看來修改 .gitlab-ci.yml 增加except 在每個(gè)任務(wù)中。

stages:
  - style
  - test
  - deploy
  - release

pep8:
  stage: style
  script:
    - pip install tox
    - tox -e pep8
  tags:
    - python2.7
  except:
    - tags

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

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

docker-deploy:
   stage: deploy
   script:
     - docker build -t flask-demo .
     - if [ $( docker ps -aq --filter name=web) ]; then docker rm -f web;fi
     - docker run -d -p 5000:5000 --name web flask-demo
   tags:
     - test1
   only:
     - master

docker-image-release:
   stage: release
   script:
     - docker login 172.28.128.6 -u idig8 -p 123456789
     - docker build -t 172.28.128.6/idig8/flask-demo:$CI_COMMIT_TAG .
     - docker login 172.28.128.6 -u idig8 -p 1qaz@WSX3edc
     - docker push 172.28.128.6/idig8/flask-demo:$CI_COMMIT_TAG
   tags:
     - test1
   only:
     - tags
  • 新建tag

    New tag

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

  • 進(jìn)入harbor看看

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

PS:實(shí)際上這個(gè)例子,就是特定版本的docker image的產(chǎn)生。一個(gè)版本的發(fā)布代表我們這個(gè)軟件的穩(wěn)定的版本的問世,接下來就可以進(jìn)行對穩(wěn)定版本的部署,我們對穩(wěn)定版本的部署,穩(wěn)定版本的部署具體是docker swarm還是k8s,最重要的是我們已經(jīng)有了一個(gè)docker image,我們可以通過手動(dòng),或者自動(dòng)的升級。update docker image 實(shí)現(xiàn)服務(wù)的不中斷。
總體言之這幾次的流程是:開發(fā)代碼提交到分支后,分支下進(jìn)行校驗(yàn)pipline,沒有問題,進(jìn)行deploy的,在deploy測試沒有問題,打包tag,形成穩(wěn)定的dockerimage版本。

『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章題目:『中級篇』docker之CI/CD持續(xù)集成-項(xiàng)目生成鏡像(76)-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://jinyejixie.com/article18/jshdp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣網(wǎng)站改版、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)、網(wǎng)站導(dǎo)航網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
壶关县| 图木舒克市| 灵寿县| 叙永县| 平原县| 武乡县| 都昌县| 太湖县| 偃师市| 筠连县| 皋兰县| 伊通| 镶黄旗| 德阳市| 贺兰县| 阿巴嘎旗| 神农架林区| 民勤县| 桑日县| 福海县| 莫力| 峨边| 金川县| 平湖市| 平武县| 开原市| 宝丰县| 高台县| 桓台县| 顺义区| 固镇县| 富宁县| 桐城市| 宜阳县| 扎囊县| 大石桥市| 通江县| 青河县| 长子县| 横峰县| 合江县|