jenkins发布docker项目 harbor
生活随笔
收集整理的這篇文章主要介紹了
jenkins发布docker项目 harbor
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
大家好,我是烤鴨:
?????jenkins 部署k8s 項目還是比較流暢的,本身建立多流水線項目,在項目中添加jenkinsfile就好了,鏡像需要額外的參數,還可以添加dokcerfile文件。由于我現在的問題是不能夠修改原有的項目,還想利用項目中的Dockerfile打包后發布到私服倉庫(Harbor)中。
構建普通maven項目
這種構建有個劣勢就是只能單分支的。
docker 安裝
yum install docker docker -v []: Docker version 19.03.4, build 9013bf583a這里有個小坑就是docker 默認使用https鏈接,而局域網內ip都是http的。
vi /etc/docker/daemon.jsonregistry-mirrors 是下載鏡像的備用鏡像地址、insecure-registries 是可以使用http鏈接的地址。
{"registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://tnxkcso1.mirror.aliyuncs.com"],"insecure-registries": ["192.168.1.1:80"],"bip": "192.168.2.1/24" }registry-mirrors 也沒啥用,后來構建的時候死活拉不下來包(無論怎么改都會從 docker.io 拉包)。
只能手動拉下來再重命名了。
之前有個包拉不下來,frolvlad/alpine-oraclejdk8。只能先從別的鏡像地址拉。
docker pull docker.mirrors.ustc.edu.cn/frolvlad/alpine-oraclejdk8拉完了再重命名,要不每次還會從 docker.io 拉取
docker tag tnxkcso1.mirror.aliyuncs.com/frolvlad/alpine-oraclejdk docker.io/frolvlad/alpine-oraclejdk雖然image id 一樣,但是包是ok的
利用腳本發布
Post Steps
Execute Shell
#項目所在jenkins目錄 cd /var/lib/jenkins/workspace/xxx/ #復制到指定目錄 rm -rf /data/apps/xxx/* cp ./target/*.jar /data/apps/xxx cp ./Dockerfile /data/apps/xxx #進入目錄執行docker命令 cd /data/apps/xxx #docker生成鏡像并推送到倉庫,build-arg非必填,需要看dockerfile是否有環境變量引用 docker build -t 192.168.1.1:80/xxx/xxx:v1 --build-arg "JAR_NAME=./xxx-1.0-SNAPSHOT.jar" -f ./Dockerfile . docker login -u=admin -p=admin 192.168.1.1:80 docker push 192.168.1.1:80/xxx/xxx:v1push到harbor這塊還有個小坑,需要先在 harbor 建立項目。
比如項目名稱是 AAA,你的鏡像+tag 是 xxx:v1。
那么push的時候要寫上全路徑,不建項目是不行的!
docker push 192.168.1.1:80/xxx/xxx:v1發布到harbor
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的jenkins发布docker项目 harbor的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 算法题11 字符串的所有对称子串
- 下一篇: MiPony– 杀手级免费网盘下载工具