欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker搭建Jenkins實現自動部署的圖文教程

 更新時間:2025年05月21日 09:53:49   作者:代碼怪獸大作戰(zhàn)  
本文主要介紹了Docker搭建Jenkins實現自動部署教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

概要

Jenkins 和 GitLab 是兩個流行的工具,通常一起使用來實現持續(xù)集成和持續(xù)交付(CI/CD)。以下是如何在 Jenkins 中集成 GitLab 的基本步驟:

  • 安裝 Jenkins
    首先,在服務器上安裝 Jenkins??梢詮?Jenkins 的官方網站(https://www.jenkins.io/download/)下載適用于您操作系統(tǒng)的安裝包,并按照安裝說明進行安裝 或者 使用Docker容器。

  • 安裝 GitLab 插件
    在 Jenkins 中安裝 GitLab 插件,以便與 GitLab 服務器進行集成。您可以通過 Jenkins 管理面板的插件管理器來安裝該插件。

  • 配置 Jenkins 項目
    在 Jenkins 中創(chuàng)建一個新的項目(或者使用現有的項目)。
    在項目配置中,選擇 GitLab 作為版本控制工具,并提供 GitLab 倉庫的 URL。
    配置 Jenkins 如何獲取源代碼,您可以選擇通過 SSH 密鑰或者 GitLab 的訪問令牌進行認證。
    配置構建觸發(fā)器,例如當 GitLab 上的特定分支有新的提交時觸發(fā)構建。

  • 配置構建步驟
    在 Jenkins 項目中添加構建步驟,例如構建、測試、部署等。您可以使用 Jenkins 的插件來執(zhí)行這些步驟,或者通過調用 shell 腳本來執(zhí)行相關操作。

環(huán)境安裝

linux上進行docker安裝有兩種方式:

  • Docker自動化安裝
  • Docker手動安裝

可以根據該文章的步驟進行安裝:http://www.dbjr.com.cn/server/339879ek2.htm

搭建Jenkins容器

  • 拉取jenkins鏡像
docker pull jenkins/jenkins:lts-alpine-jdk17
  • 生成jenkins容器
#!/bin/bash

# 設置變量
PORT=8081
PROJECT_DIR="/opt/docker/jenkins"

# 創(chuàng)建目錄結構
mkdir -p "$PROJECT_DIR/jenkins_home"
mkdir -p "$PROJECT_DIR/logs"

# 運行 Jenkins 容器
docker run -d \
  --restart=always \
  --privileged=true \
  --name jenkins \
  -u root \
  -p "$PORT:8080" \
  -v "$PROJECT_DIR/jenkins_home:/var/jenkins_home" \
  -v "$PROJECT_DIR/logs:/var/log/jenkins" \
  -v "/var/run/docker.sock:/var/run/docker.sock" \
  -v "/etc/localtime:/etc/localtime" \
  jenkins/jenkins:lts-alpine-jdk17

注意:如果需要在jenkins的docker容器中去構建docker或者打包鏡像的話需要進入容器內,安裝docker命令行工具,Docker CLI 提供了豐富的命令和選項,可以用于構建、運行、管理和監(jiān)視 Docker 容器。

docker exec -it jenkins /bin/sh

apk add docker-cli

通過shell腳本運行生成jenkisn容器

在這里插入圖片描述

登陸網址,測試jenkins是否運行成功

在這里插入圖片描述

配置Jenkins

  • 首次登陸,根據密碼提示地址,找到初始密碼,修改jenkins密碼并登陸進行設置
  • 安裝相應的插件

在這里插入圖片描述

安裝插件

gitLab(代碼管理)

在這里插入圖片描述

pipeline(流水線)(jenkins推薦安裝時自動安裝)

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

SSH(遠程登錄連接)

在這里插入圖片描述

NodeJs(前端構建)

在這里插入圖片描述

Role(jenkins用戶權限控制插件)

在這里插入圖片描述

SonarQube(代碼檢測插件)

在這里插入圖片描述

記錄job的歷史更新記錄插件(可找到歷史命令腳本)

在這里插入圖片描述

在jenkins容器中安裝JDK、Maven、Node等環(huán)境(位置docker jenkins_home中)

jdk:jenkins docker 一般會自帶jdk版本(自帶的最方便)

jdk最好在docker容器中安裝openjdk使用,不會出現no found的情況

在這里插入圖片描述

mavan:將maven的壓縮包解壓到相應位置

node

  • 進入jenkins對應容器中docker exec -it [對應容器id] bash
  • 安裝nodejs , apk add --no-cache nodejs
  • 再將需要的其他版本node的壓縮包解壓到相應位置 或者 可以在jenkins中選擇自動安裝node版本

注意: apk add --no-cache nodejs 這一步是必須的 否則構建前端可能會出現env: ‘node’: No such
file or directory的錯誤

在這里插入圖片描述

配置JDK、Maven、Node環(huán)境

全局屬性配置

系統(tǒng)管理——>系統(tǒng)配置——>全局屬性

在這里插入圖片描述

gitLab配置

在這里插入圖片描述

SSH配置

在jenkins_home中加入私鑰文件(用于遠程訪問其他服務器等)

在這里插入圖片描述

在這里插入圖片描述

注意:首次訪問遠程服務器時,需要在jenkins的docker容器內 輸入命令ssh xxx.xxx.xxx.xxx 訪問其他服務器
授權成功后,jenkins才能無阻礙的訪問其他服務器,否則jenkins執(zhí)行腳本會訪問失敗
如果id_rsa 不行,那么就再加到 /root/.ssh/id_rsa 里面去
jenkins沒足夠權限訪問 就 chmod 600 ~/.ssh/id_rsa

在這里插入圖片描述

被訪問的服務器需要填入公鑰

在這里插入圖片描述

注意:若jenkins是docker運行,若id_rsa文件(ssh私鑰)不存在需要將id_rsa文件生成在容器內的jenkins_home目錄下,才會生效

在這里插入圖片描述

在SSH Server中加入需要遠程連接的服務器,填寫完成后,可以點擊Test Configuration 查看是否成功

注意:遠程連接的服務器需要在該服務器的/root/.ssh/authorized_keys文件中加入公鑰

在這里插入圖片描述

配置 全局工具配置

1. Maven 配置

在這里插入圖片描述

2. JDK 安裝

在這里插入圖片描述

3. git安裝

在這里插入圖片描述

4. Maven安裝

在這里插入圖片描述

5. NodeJs安裝

在這里插入圖片描述

Role-based Authorization Strategy插件配置用戶權限

1.配置用戶權限流程

在這里插入圖片描述

2.設置Global roles 全局角色設置 和 Item roles 項目設置

在這里插入圖片描述

3.配置角色權限范圍

在這里插入圖片描述

小結

可能遇見的問題:

1. 登陸初始密碼后報錯,該Jenkins實例似乎已離線。

在這里插入圖片描述

解決方案:

原因一:升級站點的鏈接https://updates.jenkins.io/update-center.json默認是https

修改升級站點的鏈接

保留此離線頁面,重新開啟一個瀏覽器tab標簽頁

  • 輸入jenkins登陸網址http://localhost:8080/pluginManager/advanced (自己的登陸地址+路徑/pluginManager/advanced )
  • 進入該頁面最底下,找到【Update Site】,把其中的鏈接改成http,http://updates.jenkins.io/update-center.json,點擊Submit保存,Check now 能夠檢測當前URL是否能夠更新站點;
  • 提示jenkins,在重新啟動jenkins,已經可以重新連網,下載插件

在這里插入圖片描述

重要:如果改完Http還是不行,請改成如下鏡像
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
http://mirror.esuni.jp/jenkins/updates/update-center.json
http://mirror.xmission.com/jenkins/updates/update-center.json

原因二:Jenkins在下載插件之前會檢查網絡鏈接,會去讀取配置文件的網址Jenkins_home/updates/default.json

修改default.json文件

  • 不管是用本地運行war包的方式啟動的Jenkins,還是Docker運行的Jenkins,找到運行目錄下(Docker就是掛載出來的目錄)
  • 一個叫updates目錄,修改里面的default.json文件,把第一個遇到的www.google.com,修改成www.baidu.com
  • 重啟jenkins

注意:要先關閉jenkins后才能對該文件進行修改,否則修改保存無法生效
(docker 運行的jenkins 一定要掛載目錄(如:Jenkins_home) 否則容器關閉后無法進入容器內修改default.json文件)

在這里插入圖片描述

在這里插入圖片描述

原因三:Jenkins訪問連接被防火墻阻攔

關閉防火墻

  • 檢查防火墻狀態(tài):systemctl status firewalld.service
  • 手動關閉防火墻:systemctl stop firewalld.service
  • 關閉防火墻開機自啟:systemctl disable firewalld.service

原因四:Jenkins版本太老

  • 重新拉取其他版本的jenkins鏡像,換一個可能就會成功,一般前面三個原因的不會出現,大概率的鏡像版本引起的。
  • 例如:使用jenkins/jenkins:lts-alpine-jdk11 jenkins離線無法下載插件,換成jenkins/jenkins:lts-alpine-jdk17 就能正常運行

2. 前端npm構建找不到,env: ‘node’: No such file or directory

原因:出現問題是docker jenkins 里面沒有自動安裝node導致找不到這個Node命令
解決方案:手動安裝nodejs

# 進入jenkins對應容器中
# docker exec -it [對應容器id] bash
 
# 安裝nodejs
# apk add --no-cache nodejs
 
# 檢查node
# node -v

3. pipeline執(zhí)行過程中git參數的commit 版本選擇出現 版本無法顯示的問題

在這里插入圖片描述

原因:原因未知

解決方案:
重新創(chuàng)建一個新的pipeline任務,可能解決該問題。

在這里插入圖片描述

到此這篇關于Docker搭建Jenkins實現自動部署教程的文章就介紹到這了,更多相關Docker搭建Jenkins自動部署內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • Docker自動化構建Automated Build實現過程圖解

    Docker自動化構建Automated Build實現過程圖解

    這篇文章主要介紹了Docker自動化構建Automated Build實現過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • docker容器中crontab無法正常運行解決方案

    docker容器中crontab無法正常運行解決方案

    相信很多人看完docker容器, 需要加crontab, 加完卻發(fā)現不能執(zhí)行,什么原因造成的呢?下面小編給大家分享docker容器中crontab無法正常運行的解決方案,需要的朋友參考下吧
    2017-01-01
  • docker啟動springboot項目容器閃退的解決

    docker啟動springboot項目容器閃退的解決

    本文主要介紹了docker啟動springboot項目容器閃退,大部分原因是啟動報錯,文中通過圖文示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-07-07
  • Docker實現TLS和CA認證的方法步驟

    Docker實現TLS和CA認證的方法步驟

    為了更便捷地連接Docker服務器,Docker服務器需要開放2375端口才能連接docker,本文主要介紹了Docker實現TLS和CA認證的方法步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • Centos7安裝docker compse踩過的坑及解決方法

    Centos7安裝docker compse踩過的坑及解決方法

    本文,我們介紹如何在centos7環(huán)境下安裝docker-compose, 記錄下安裝過程步驟以及遇到的問題還有解決辦法,感興趣的朋友參考下吧
    2018-01-01
  • Docker NFS volume創(chuàng)建與使用方式

    Docker NFS volume創(chuàng)建與使用方式

    這篇文章主要介紹了Docker NFS volume創(chuàng)建與使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • docker save和docker load的具體使用

    docker save和docker load的具體使用

    本文詳細介紹了docker save和docker load命令的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • Ubuntu24.04LTS在線安裝Docker引擎的詳細過程

    Ubuntu24.04LTS在線安裝Docker引擎的詳細過程

    本文介紹了在Ubuntu 24.04 LTS系統(tǒng)上安裝Docker引擎的步驟,包括卸載舊版本、設置Docker APT倉庫、安裝最新版或指定版本的Docker,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 使用Docker部署Nginx并掛載目錄詳解

    使用Docker部署Nginx并掛載目錄詳解

    這篇文章主要為大家詳細介紹了使用Docker部署Nginx并掛載目錄的相關方法,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-04-04
  • docker批量刪除臨時鏡像

    docker批量刪除臨時鏡像

    在開發(fā)的時候,需要經常發(fā)布開發(fā)包,在使用docker build構建鏡像的時候,同一個版本經常會使用相同tag,頻繁打包一段時間后,本地會出現很多Tag=<none>的臨時鏡像,下面給大家分享相關命令docker批量刪除Tag=<none>的臨時鏡像,感興趣的朋友一起看看吧
    2024-07-07

最新評論