jenkins遠程調用docker


 

宿主機

初步框架如下,相當於有

1)svn服務器 

2)docker jenkins服務 

3)docker測試環境DM   

4)自動化測試服務DM_Test

 

 

 

1.使用docker-compose 創建jenkins容器(比直接啟動docker 容器更好用)

/docker/jenkins/data 放置jenkins數據

(如果從無開始建立jenkins,啟動docker compose不要進行數據卷掛載,先啟動再用docker cp把Jenkins容器中的數據復制到data目錄后,再掛載,以實現持久化)

/docker/jenkins/docker-compose.yml,注意docker的socket共享

version: '2'
services:
  jenkins:
    restart: always
    image: jenkins/jenkins:lts
    container_name: jenkins
    expose:
      - "8080"
      - "50000"
    ports:
      - "8080:8080"
      - "50000:50000"
    environment:
      JAVA_OPTS: "-Djava.awt.headless=true -Duser.timezone=Asia/Shanghai"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      # 將宿主機的 Docker 程序掛載到 Jenkins 容器內部
      - /usr/bin/docker:/usr/bin/docker:ro
      - ./data:/var/jenkins_home

啟動docker-compose up -d,其他命令詳見docker-compose -h內容

最終compose詳情

 

2.配置docker遠程連接

有2種方式,可參考https://zhuanlan.zhihu.com/p/94224305

1)tcp無密碼,不安全

2)tls證書

由於我用虛擬機,直接簡單整了個方法1)

修改 /lib/systemd/system/docker.service,注釋掉原來那行,加入2行

ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

重啟docker之后,驗證

docker -H tcp://192.168.101.66:2375 ps 

 

3.構建jenkins任務

基本操作跳過,新手多看看博客教程,主要看  jenkins調用遠程docker主機來構建

Jenkins需安裝插件 docker-build-step,系統管理>系統配置>配置docker builder

 

任務中配置docker命令,

構建日志如下

 當然,也可以通過創建自定義鏡像並push到倉庫,再讓docker去拉取該鏡像就行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM