jenkins Docker持續化部署 筆記)

2022-03-24 06:50:13 字數 2128 閱讀 4327

參考資料: (jenkins(docker容器內)使用宿主機的docker命令)

(running docker in jenkins (in docker))

(基於jenkins,docker實現自動化部署(持續互動))

(jenkins和docker實現自動化構建部署)

(jenkins整合docker映象實現自動發布)

(jenkins詳解)

(jenkins定時任務)

(docker環境下jenkins持續整合(一))

( docker:使用jenkins構建docker映象)

jenkins安裝一般分兩種形式:直接安裝和docker形式安裝,為了方便移植建議用docker形式安裝

建立dockerfile檔案

from jenkins/jenkins:lts

user root

run apt-get update \

&& apt-get install -y sudo

\ && rm -rf /var/lib/apt/lists/*

run echo "jenkins all=nopasswd: all" >> /etc/sudoers

構建映象

docker build -t jwh/jenkins .
啟動jenkins容器

docker run -d -v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker --privileged -p 8888:8080 jwh/jenkins:v1

注意這兩個volume引數(將jenkins容器內的docker命令指向了宿主機):

-v /var/run/docker.sock:/var/run/docker.sock

-v $(which docker):/usr/bin/docker

-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 在centos7 系統下會出現個別的包丟失,對應的引下宿主機的包就可以。

配置jenkins

docker exec -it 52873fa3dce4 /bin/bash

cat /var/jenkins_home/secrets #檢視密碼

安裝必須的外掛程式後新建乙個job

**在碼雲上,新增**位址以及git登入賬號

5分鐘輪訓構建

使用shell指令碼構建docker

fi#刪除已建的容器,防止容器名,埠衝突

sleep

1cd /var/jenkins_home/workspace/g-imagery-script-api

sudo docker build -t jwh/g-imagery-script-api:v1 . #根據dockerfile生成映象

sleep

1sudo docker run -d -p 5010:5010 --name g-imagery-script-api jwh/g-imagery-script-api:v1 #執行映象生成容器

Jenkins docker容器部署指令碼

bin sh 接收外部引數 harbor url 1 harbor project name 2 project name 3 tag 4 imagename harbor url harbor project name project name tag echo imagename 查詢容器是否存...

持續整合 持續交付 持續部署

持續整合 持續整合強調開發人員提交了新 之後,立刻進行構建 單元 測試。根據測試結果,我們可以確定新 和原有 能否正確地整合在一起。持續交付 持續交付在持續整合的基礎上,將整合後的 部署到更貼近真實執行環境的 類生產環境 production like environments 中。比如,我們完成單...

持續整合 持續交付 持續部署

參考 1 continuous integration 持續整合 持續整合強調對於開發人員的每個提交,立刻進行構建 單元 測試。根據測試結果,我們可以確定新 和原有 能否正確地整合在一起。2 continuous delivery 持續交付 持續交付在持續整合的基礎上,將整合後的 部署到更貼近真實執...