Gitlab CI CD 配置本地docker鏡像倉庫及maven私服倉庫緩存

1.linux裝好容器環境。

CentOS:yum -y install docker Ubuntu:apt install docker.io

記得創建下軟連接:加速地址去阿里雲登錄進行配置。

cd /usr/libexec/docker/
ln -s docker-runc-current docker-runc 

2.使用容器界面管理工具portainer,注意主機端口是否已被使用,已經掛載目錄是否創建。

docker run -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /data/docker/portainer:/data portainer/portainer

3.訪問部署portainer。http://ip:9000,首次登錄需要設置密碼,選擇local。然後選擇App Template,選擇Registry。

看我的配置圖:

部署成功之後,訪問http://ip:5000/v2/_catalog,因爲你還沒push,所以啥都沒有。

接下來,可以去你裝好docker環境的linux裏面去官方隨便拉一個鏡像,或者你本地已經有鏡像都可以。我這裏以nginx爲例

docker pull nginx:latest

docker tag nginx:latest ip:5000/nginx:v1

push之前需要配置/etc/docker/daemon.json

加上 "insecure-registries": ["192.168.168.225:5000"] 屬性。

然後刷新重啓docker:systemctl daemon-reload & systemctl restart docker

docker push ip:5000/nginx:v1

再嘗試訪問http://ip:5000/v2/_catalog

能看到東西,說明成功了。

接着嘗試刪除本地nginx鏡像:docker rmi nginx:latest

然後再拉取本地私服鏡像:docker pull ip:5000/nginx:v1

好了,介紹這麼多我也不想多說了。直接來說下cicd配置文件吧。

其實玩過dockerfile的童鞋都知道怎麼弄,我就直接說關鍵點了。或者你看看這篇文章

image: 192.168.168.225:5000/maven:3.6.1-jdk-8
variables:
  MAVEN_OPTS: "-Dmaven.repo.local=.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
  MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true"
cache:
  paths:
    - .m2/repository
stages:
  - compile
compile:
  stage: compile
  script:
    - pwd
    - ls
    - mvn -f ./ $MAVEN_CLI_OPTS compile
  tags:
    - runner
  only:
    - master

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章