摘要:直接使用官方的鏡像一般會有兩個問題導致不能正常自動部署基于的服務。
直接使用 Jenkins 官方的鏡像一般會有兩個問題導致不能正常自動部署基于 Docker 的服務。
存在的問題官方的鏡像默認不是使用 root 賬號,雖然 Jenkins 可以正常啟動,但是因為沒有權限導致不能向宿主機寫文件
Jenkins 基于 Docker 搭建,雖然 Jenkins 同樣可以正常啟動,但不能在容器內部隨意使用 Docker
準備工作安裝 docker、修改 docker 鏡像倉庫、安裝 pip、安裝 docker-compose
# 如果覺得麻煩可以用這個部署輔助工具自動完成 git clone https://github.com/kwkwc/dockerSH.git # 進入工具目錄并自動部署 cd dockerSH && ./deploy.sh問題一 解決
重新創建鏡像修改為 root 用戶,安裝 docker 依賴庫(問題二解決)Dockerfile
FROM jenkins/jenkins:2.137 MAINTAINER kwkw "kwkw@example.com" ENV REFRESHED_AT 2018-08-13 USER root RUN echo "" > /etc/apt/sources.list.d/jessie-backports.list && echo "deb http://mirrors.aliyun.com/debian jessie main contrib non-free" > /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list && echo "deb http://mirrors.aliyun.com/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list # 安裝 docker 依賴庫 RUN apt update && apt install -y libltdl7創建新鏡像
docker build -t kwkw/jenkins:2.137 .問題二 解決
將宿主機的 Docker 程序掛載到 Jenkins 容器內部(宿主機環境為 Ubuntu 16.04,其他環境未測試)docker-compose.yml
version: "2" services: jenkins: restart: always image: kwkw/jenkins:2.137 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/jenkins:/var/jenkins_home啟動 Jenkins
docker-compose up -d瀏覽器打開
http://127.0.0.1:8080初次使用需要填寫密鑰
請根據 docker-compose.yml 里面填寫的掛載路徑查找安裝
一般我們選擇安裝推薦的插件,但是因為默認插件源在國外,速度非常慢而且安裝失敗率高,所以請自行查找特殊辦法創建管理員用戶 搭建完成
如果已經搭建好可以使用 Docker 的 Jenkins,請移步到這篇文章
使用 Jenkins 自動部署 Docker 服務(二、構建部署篇)文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27402.html
摘要:如果還沒有搭建好可以使用的,請先移步到這篇文章進行搭建使用自動部署服務一搭建篇目標通過實現推送代碼后自動部署基于的服務準備工作獲取示例項目或者直接復制以下文件內容獲取示例項目項目文件頁面文件鏡像文件部署文件部署腳本文件頁面文件項目很簡單, 如果還沒有搭建好可以使用 Docker 的 Jenkins,請先移步到這篇文章進行搭建 使用 Jenkins 自動部署 Docker 服務(一、Je...
摘要:問題背景公司初創技術團隊,沒有任何基礎設施的情況下,需要搭建一系列管理以及自動化部署等工具所以引發了下面一系列的部署過程,歷時兩天,中間也是碰到各種問題,但最終把基本工具全部搭建成功,耶,下面帶大家一起看下此次搭建過程。 問題背景 公司初創技術團隊,沒有任何基礎設施的情況下,需要搭建一系列code管理以及自動化部署等工具....所以引發了下面一系列的部署過程,歷時兩天,中間也是碰到各種...
摘要:從開始搭建自動部署環境續前言上一篇從開始搭建自動部署環境雖然環境搭建起來了,但是配置少了一部分步驟。創建本地倉庫參考新建項目項目是我寫的一個用來測試環境的項目,代碼托管在上。 從0開始搭建自動部署環境(續) 前言 上一篇從0開始搭建自動部署環境雖然環境搭建起來了,但是配置少了一部分步驟。本來應該寫到上一篇中,但是這樣做篇幅過長了。另外,此篇會使用自動部署一個同步在Github上的Spr...
摘要:從開始搭建自動部署環境續前言上一篇從開始搭建自動部署環境雖然環境搭建起來了,但是配置少了一部分步驟。創建本地倉庫參考新建項目項目是我寫的一個用來測試環境的項目,代碼托管在上。 從0開始搭建自動部署環境(續) 前言 上一篇從0開始搭建自動部署環境雖然環境搭建起來了,但是配置少了一部分步驟。本來應該寫到上一篇中,但是這樣做篇幅過長了。另外,此篇會使用自動部署一個同步在Github上的Spr...
摘要:本文將使用這些命令搭建一個持續集環境,解決不能聯網的問題來安裝各種常用插件。總結通過本章學習,你已經知道了基于如何在環境下搭建環境,并創建一個項目。以為基礎框架,為數據訪問層,為權限授權層,對常用數據進行緩存,基于構建的作為前端框架。 回顧:上一文對Docker常用的命令以羅列的方式做了一個詳盡的介紹。本文將使用這些命令搭建一個jenkins持續集環境,解決jenkins不能聯網的問題...
閱讀 2188·2021-11-15 11:38
閱讀 1151·2021-09-06 15:02
閱讀 3379·2021-08-27 13:12
閱讀 1353·2019-08-30 14:20
閱讀 2389·2019-08-29 15:08
閱讀 636·2019-08-29 14:08
閱讀 1722·2019-08-29 13:43
閱讀 1464·2019-08-26 12:11