91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于 Docker 與 Jenkins 實現(xiàn)自動化部署

jf_21561199 ? 來源:jf_21561199 ? 作者:jf_21561199 ? 2025-01-07 17:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

重塑自動化部署新高度,Docker 攜手 Jenkins,在華為云 Flexus X 云服務器的加持下,引領持續(xù)集成與部署的新紀元。Flexus X 以其卓越的性能、靈活的資源配置和高效的成本優(yōu)化,為 Docker 容器化應用與 Jenkins 自動化流水線提供了理想的運行環(huán)境。無論是快速構建、測試還是部署,F(xiàn)lexus X 都能確保流程順暢無阻,大幅提升軟件開發(fā)與交付效率。立即擁抱華為云 828 企業(yè)上云節(jié)優(yōu)惠,開啟您的 Docker 與 Jenkins 自動化部署之旅,讓軟件創(chuàng)新更快一步!

鏈接直達華為云Flexus云服務器X實例

wKgZPGd88vSARHEhAAEA43MSbXE167.png

Jenkins 介紹

Jenkins 是一個開源的持續(xù)集成和持續(xù)部署(CI/CD)工具,它基于 Java 開發(fā),支持各種編程語言和平臺。Jenkins 以其強大的功能和靈活性,在現(xiàn)代軟件開發(fā)中扮演著重要角色。

Jenkins 應用廣泛,大多數(shù)互聯(lián)網(wǎng)公司都采用 Jenkins 配合 GitLab、Docker、K8s 作為實現(xiàn) DevOps 的核心工具。

Jenkins 最強大的就在于插件,Jenkins 官方提供了大量的插件庫,來自動化 CI/CD 過程中的各種瑣碎功能。

Jenkins 最主要的工作就是將 GitLab 上可以構建的工程代碼拉取并且進行構建,再根據(jù)流程可以選擇發(fā)布到測試環(huán)境或是生產(chǎn)環(huán)境。

Jenkins 需要大量的插件保證工作,安裝成本較高,下面會基于 Docker 搭建 Jenkins。

CI/CD 的理解

一般是 GitLab 上的代碼經(jīng)過大量的測試后,確定發(fā)行版本,再發(fā)布到生產(chǎn)環(huán)境。

CI/CD 可以理解為:

?CI 過程即是通過 Jenkins 將代碼拉取、構建、制作鏡像交給測試人員測試。

–持續(xù)集成:讓軟件代碼可以持續(xù)的集成到主干上,并自動構建和測試。

?CD 過程即是通過 Jenkins 將打好標簽的發(fā)行版本代碼拉取、構建、制作鏡像交給運維人員部署。

–持續(xù)交付:讓經(jīng)過持續(xù)集成的代碼可以進行手動部署。

–持續(xù)部署:讓可以持續(xù)交付的代碼隨時隨地的自動化部署。

wKgZPGd88vWAL2RhAAOvW3NGU4g483.png

華為云 Flexus X 實例部署 Jenkins 的特點

靈活高效部署:華為云 FlexusX 結合 Docker,讓 Jenkins 部署變得靈活且高效,資源動態(tài)調(diào)整,構建速度顯著提升。

穩(wěn)定安全運行:FlexusX 的穩(wěn)定性和 Docker 的隔離性為 Jenkins 提供可靠運行環(huán)境,確保高負載下穩(wěn)定運行,同時保障數(shù)據(jù)安全。

簡化管理運維:一鍵部署與華為云統(tǒng)一管理界面,極大簡化了 Jenkins 在 FlexusX 上的部署與管理流程,提升運維效率。

豐富插件支持:Jenkins 龐大的插件生態(tài)與 FlexusX 實例完美融合,滿足多樣化項目需求,為軟件開發(fā)團隊提供強大支持。

接下來讓我們使用 docker,一起走進 Jenkins 的世界!

環(huán)境規(guī)劃

部署流程

需要了解:

?采用 docker 方式進行部署 Jenkins(CI/CD)工具

?詳細購買配置實例可參考文章:快速部署華為云Flexus X實例,開啟您的云端之旅

?部署 docker 服務請參考文章:華為FlexusX與Docker+Nginx的高效整合之路

配置 jdk 環(huán)境

注意:選擇適合自己的 JDK,并且注意安裝 JDK 的系統(tǒng)

地址:https://www.oracle.com/java/technologies/downloads/

上傳軟件包 openjdk-12.0.2_linux-x64_bin.tar.gz到實例中

[root@flexusx-251f~]# mkdir /usr/local/java[root@flexusx-251f~]# cd /usr/local/java/[root@flexusx-251fjava]# lsopenjdk-12.0.2_linux-x64_bin.tar.gz

解壓軟件包

[root@flexusx-251fjava]# tar -zxvfopenjdk-12.0.2_linux-x64_bin.tar.gz

添加 java 環(huán)境變量,在文件最后添加

[root@flexusx-251f~]# vim /etc/profile[root@flexusx-251f~]# cat /etc/profile..........exportJAVA_HOME=/usr/local/java/jdk-12.0.2exportPATH=$JAVA_HOME/bin:$PATH#加載配置文件[root@flexusx-251f~]# source /etc/profile

查看 java 版本

[root@flexusx-251f~]# java -versionopenjdkversion "12.0.2"2019-07-16OpenJDKRuntime Environment (build12.0.2+10)OpenJDK64-Bit Server VM (build12.0.2+10, mixed mode, sharing)

配置 Maven 環(huán)境

打開 Maven 官網(wǎng)下載對應軟件包:Maven – Download Apache Maven

根據(jù)自身需求選擇對應版本,在本實例中選擇 v3.9.9

wKgZO2d88vWAO_mjAAJCHuNYzNg601.png

上傳軟件包

[root@flexusx-251f~]# mkdir -p/usr/local/maven[root@flexusx-251f~]# cd /usr/local/maven/[root@flexusx-251fmaven]# lsapache-maven-3.9.9-bin.tar.gz[root@flexusx-251fmaven]# tar -zxvfapache-maven-3.9.9-bin.tar.gz[root@flexusx-251fmaven]# lsapache-maven-3.9.9apache-maven-3.9.9-bin.tar.gz[root@flexusx-251fmaven]# cd apache-maven-3.9.9/[root@flexusx-251fapache-maven-3.9.9]# lsbinboot conf lib LICENSE NOTICE README.txt

解壓完畢以后,新建一個 repository 倉庫,用于存放 Maven 下載下來的 jar 包

[root@flexusx-251fmaven]# mkdir repository

編輯 settings.xml 文件

設置 maven 倉庫

[root@flexusx-251fmaven]# cd apache-maven-3.9.9/[root@flexusx-251fapache-maven-3.9.9]# vim conf/settings.xml.....................49 55/usr/local/maven/repository#設置鏡像倉庫地址...........

配置鏡像,配置為阿里云鏡像地址

................................................. maven-default-http-blockerexternal:http:*Pseudo repositoryto mirror external repositories initially using HTTP.http://0.0.0.0/true #修改為阿里云鏡像地址nexus-aliyuncentralNexus aliyunhttps://maven.aliyun.com/repository/public...................

配置環(huán)境變量

[root@flexusx-251fmaven]# vim /etc/profile...#在文件最后加入兩行參數(shù)信息 exportMAVEN_HOME=/usr/local/maven/apache-maven-3.9.9exportPATH=$PATH:$MAVEN_HOME/bin[root@flexusx-251fmaven]# mvn -vApacheMaven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)Mavenhome: /usr/local/maven/apache-maven-3.9.9Javaversion: 12.0.2, vendor: Oracle Corporation, runtime: /java/jdk-12.0.2Defaultlocale: en_US, platform encoding: UTF-8OSname: "linux", version: "5.10.0-182.0.0.95.r1941_123.hce2.x86_64", arch: "amd64", family: "unix"

搭建 Jenkins

創(chuàng)建對應目錄,編寫 docker-compose 文件

[root@flexusx-251f~]# mkdir /jenkins[root@flexusx-251f~]# cd /jenkins/[root@flexusx-251fjenkins]# mkdir data[root@flexusx-251fjenkins]# vim docker-compose.yaml[root@flexusx-251fjenkins]# cat docker-compose.yamlversion:"2.29.1" #指定 docker-compose 版本 services:myjenkins:image:jenkins/jenkins #指定鏡像名稱container_name:myjenkins #指定容器名稱ports:-"1020:8080" #用于主機訪問 Jenkins 的 Web 界面-"1021:50000" #用于 Jenkins 的代理(agent)連接volumes:-/jenkins/data/:/var/jenkins_home/ #指定對應目錄-/usr/local/java/jdk-12.0.2:/usr/local/java #掛載 java-/usr/local/maven/apache-maven-3.9.9:/usr/local/maven #掛載 mavenenvironment:-JAVA_OPTS=-Dorg.apache.commons.jelly.tags.fmt.timeZone='Asia/Shanghai' #指定時間restart:always[root@flexusx-251fjenkins]# docker-compose up -dWARN[0000]/jenkins/docker-compose.yaml:the attribute `version`is obsolete, it will be ignored, please remove it to avoid potential confusion[+]Running 2/2?Network jenkins_default Created 0.0s?Container jenkins Started 0.2s[root@flexusx-251fjenkins]# docker-compose lsNAMESTATUS CONFIG FILESjenkinsrunning(1)/jenkins/docker-compose.yaml[root@flexusx-251fjenkins]# docker ps |grepjen8e2fba3b21aajenkins/jenkins "/usr/bin/tini -- /u…"18 seconds ago Up 17 seconds 0.0.0.0:1020->8080/tcp, :::1020->8080/tcp, 0.0.0.0:1021->50000/tcp, :::1021->50000/tcp jenkins

初始化配置 Jenkins

Flexus X 實例 放行端口 1020,1021

wKgZPGd88vaAVseHAAEwKaqZKik301.png

瀏覽器輸入地址:http://主機 IP:1020

wKgZO2d88vaAZrvMAACEbPiMfmU637.png

查看密碼的方式有兩種,任選其一即可

#容器內(nèi)[root@flexusx-251fjenkins]# cat /jenkins/data/secrets/initialAdminPassworddd426feefcb64fa5a45a6dd743f28787[root@flexusx-251fjenkins]# docker exec -itjenkins /bin/bashjenkins@8e2fba3b21aa:/$cat /var/jenkins_home/secrets/initialAdminPassworddd426feefcb64fa5a45a6dd743f28787jenkins@8e2fba3b21aa:/$exitexit#宿主機[root@flexusx-251fjenkins]# cat /jenkins/data/secrets/initialAdminPassworddd426feefcb64fa5a45a6dd743f28787

輸入密碼進行登錄,進入插件下載頁面

wKgZPGd88veAZk6nAACn5qA9eug332.png

點擊選擇插件來安裝,選擇需要安裝的插件(可以再搜索框進行搜索)

搜索 GIT,勾選 Git Parameter

點擊安裝

wKgZO2d88veAJCBpAAEUUEkDFiU434.png

正在安裝中(等待一小會時間)

wKgZPGd88veANhQsAACy6piSWcs658.png

下載完畢,設置信息,點擊保存并完成,進入首頁

wKgZO2d88viATIZdAAB5ak-IlUM087.png

wKgZPGd88viATXV2AACGAhHRmA0156.png

wKgZO2d88viAF9ppAABcVoi8Smw240.png

安裝成功

wKgZO2d88vmAPoqIAAC0EzQQpAA381.png

Jenkins 入門配置

構建任務

準備好 gitee 倉庫中的項目,并且通過 Jenkins 配置項目的實現(xiàn)當前項目的 DevOps 基本流程

?構建 Maven 工程發(fā)布到 gitee 中(gitee,github 都可以)

?gitee 官網(wǎng):https://gitee.com/dashboard/projects

查看 Gitee 中的項目

wKgZPGd88vmAJf7JAAE-aANXiDQ759.png

Jenkins 點擊左側導航欄新建任務

wKgZO2d88vqAZgKPAACtxkK43Ws437.png

選擇自由風格構建任務

wKgZPGd88vqAX-3DAAD7Rr-TxyE803.png

配置源碼拉取地址

Jenkins 需要將 Git 上存放的源碼存儲到 Jenkins 服務所在磁盤的本地

配置任務源碼拉取地址

wKgZO2d88vqAfKHfAADDZnF3Nus718.png

Jenkins 立即構建

wKgZPGd88vqAAHq_AACBS-q3ohc921.png

查看構建工程的日志

wKgZO2d88vuAN31VAAFViUura9Q942.png

可以看到源碼已經(jīng)拉取帶 Jenkins 本地,可以根據(jù)第三行日志信息,查看 Jenkins 本地拉取到的源碼。

查看 Jenkins 容器中/var/jenkins_home/workspace/test01 的源碼

[root@flexusx-251fjenkins]# docker exec -itjenkins /bin/bashjenkins@8e2fba3b21aa:/$ls /var/jenkins_home/workspace/test01README.en.mdREADME.mdjenkins@8e2fba3b21aa:/$exitexit

配置 maven 構建代碼

Jenkins 配置 JDK&Maven 并保存

wKgZPGd88vuAd1L2AAF1REYZuzU760.png

wKgZO2d88vuAAsEgAABPQhvmalU032.png

wKgZO2d88v2AcvCaAABDfp46Q1A152.png

配置 Jenkins 任務構建代碼

?前提是你確實想要執(zhí)行 Maven 的 package生命周期階段。package階段會編譯項目代碼,運行測試(如果配置了的話),并打包應用程序(如 JAR 或 WAR 文件)。

wKgZPGd88v2AAvACAACY367MX0s961.png

wKgZO2d88v6AQ7vmAACzTPsJLw0743.png

立即構建測試,查看 target 下的 jar 包(隨便找了個項目進行測試)

?https://gitee.com/zi_yinhai/day06_git_test.git

wKgZPGd88v6APD-fAAFReHpNz0s938.png

[root@flexusx-251f~]# ls /jenkins/data/workspace/test01/target/classesmaven-archiver newprojectday_06-1.0-SNAPSHOT.jargenerated-sourcesmaven-status#通過阿里云下載的鏡像會存放在這[root@flexusx-251f~]# ls /usr/local/maven/apache-maven-3.9.9/repository/antlrclassworlds commons-fileupload eu mysqlaopalliancecom commons-io javax netbackport-util-concurrentcommons-cli commons-logging junit orgchcommons-codec dom4j log4j

至此我們已經(jīng)成功搭建完成持續(xù)集成工具

體驗和感受

在快節(jié)奏的軟件開發(fā)與運維領域,自動化部署已成為提升效率、減少人為錯誤的關鍵。華為云 Flexusx 服務器,憑借其卓越的性能、靈活的擴展性和穩(wěn)定的云環(huán)境,為企業(yè)用戶提供了理想的自動化部署平臺。結合 Docker 容器化技術與 Jenkins 持續(xù)集成/持續(xù)部署(CI/CD)工具,F(xiàn)lexus X 實例更是如虎添翼,為企業(yè)開啟了自動化部署的新紀元。

Docker 的輕量級與可移植性,使得應用環(huán)境能夠輕松打包、部署與遷移,而 Jenkins 則以其強大的自動化流程管理能力,將代碼提交、構建、測試、部署等環(huán)節(jié)無縫銜接。在 Flexusx 服務器上部署 Docker 與 Jenkins,企業(yè)可以構建一套高效的自動化部署流水線,實現(xiàn)從代碼提交到線上運行的快速迭代。

值此 828 華為云企業(yè)上云節(jié)之際,一起體驗 Flexusx 服務器上的 Docker 與 Jenkins 自動化部署解決方案。無論您是初創(chuàng)公司還是大型企業(yè),都能在這一平臺上找到適合自己的自動化部署策略。讓 Flexusx 成為您數(shù)字化轉型的加速器,Docker 與 Jenkins 則為您的軟件交付效率插上翅膀。

選擇華為云 Flexusx,攜手 Docker 與 Jenkins,共同開啟自動化部署的新篇章。點擊下方鏈接,立即行動,在 828 上云節(jié)的特惠期間,讓我們攜手并進,共創(chuàng)數(shù)字化未來!

產(chǎn)品鏈接華為云Flexus云服務器X實例直播建站服務器-華為云

wKgZO2d88v6ALfIEAAMdMY7jqCs031.png

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Docker
    +關注

    關注

    0

    文章

    532

    瀏覽量

    14246
  • 華為云
    +關注

    關注

    3

    文章

    2832

    瀏覽量

    19250
  • jenkins
    +關注

    關注

    0

    文章

    34

    瀏覽量

    5486
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何在2026年Rocky Linux(8、9和10)上安裝Docker

    Docker 已成為現(xiàn)代應用部署、開發(fā)和基礎設施自動化的核心技術。如果你在服務器或VPS上運行Rocky Linux,學會在Rocky Linux上安裝Docker是你2026年能掌握
    的頭像 發(fā)表于 01-12 17:21 ?1176次閱讀

    沉降儀如何打造無人值守實現(xiàn)自動化監(jiān)測?

    自動化系統(tǒng)的深度融合,為實現(xiàn)無人值守的遠程監(jiān)測提供了堅實的技術基礎。實現(xiàn)自動化的核心在于沉降儀的數(shù)字輸出能力。以磁致式沉降儀為例,其輸出
    的頭像 發(fā)表于 12-25 15:53 ?258次閱讀
    沉降儀如何打造無人值守<b class='flag-5'>實現(xiàn)</b><b class='flag-5'>自動化</b>監(jiān)測?

    CI/CT自動化測試解決方案

    北匯信息可以提供Jenkins、Gitlab Runner CI和自研平臺等的CI/CT整體解決方案,通過CI/CT自動化測試執(zhí)行、測試策略定制、測試任務自動調(diào)度、測試系統(tǒng)資源統(tǒng)籌、測試過程閉環(huán)
    的頭像 發(fā)表于 11-12 16:01 ?1442次閱讀
    CI/CT<b class='flag-5'>自動化</b>測試解決方案

    訂單退款自動化接口:高效處理退款流程的技術實現(xiàn)

    ? ?在現(xiàn)代電子商務系統(tǒng)中,訂單退款是常見但繁瑣的操作。手動處理退款不僅耗時,還容易出錯。自動化退款接口通過API集成,能顯著提升效率、減少人工干預,并確保準確性。本文將逐步介紹如何設計并實現(xiàn)一個
    的頭像 發(fā)表于 10-21 10:41 ?377次閱讀
    訂單退款<b class='flag-5'>自動化</b>接口:高效處理退款流程的技術<b class='flag-5'>實現(xiàn)</b>

    SaltStack自動化部署實踐

    今天,我想和大家分享一個真實的案例:我們團隊如何通過SaltStack將原本需要3天的部署時間縮短到30分鐘,并且實現(xiàn)了零失誤率。這不是魔法,而是自動化運維的力量。
    的頭像 發(fā)表于 09-17 16:18 ?624次閱讀

    使用Ansible實現(xiàn)大規(guī)模集群自動化部署

    當你面對1000+服務器需要部署時,你還在一臺臺手工操作嗎?本文將揭秘如何用Ansible實現(xiàn)大規(guī)模集群的自動化部署,讓運維效率提升10倍!
    的頭像 發(fā)表于 08-27 14:41 ?816次閱讀

    自動化計算機經(jīng)過加固后有什么好處?

    讓我們討論一下部署堅固的自動化計算機的一些好處。1.溫度范圍寬自動化計算機經(jīng)過工程設計,配備了支持寬溫度范圍的組件,使自動化計算解決方案能夠在各種不同的極端環(huán)境中運行。
    的頭像 發(fā)表于 07-21 16:44 ?618次閱讀
    <b class='flag-5'>自動化</b>計算機經(jīng)過加固后有什么好處?

    自動化計算機的功能與用途

    任務都是通過使用控制機械和流程的自動化計算機來實現(xiàn)自動化的。什么是自動化計算機?自動化計算機是工業(yè)級計算機,其設計堅固,能夠在常規(guī)臺式計算機
    的頭像 發(fā)表于 07-15 16:32 ?745次閱讀
    <b class='flag-5'>自動化</b>計算機的功能與用途

    車機交互測試自動化實現(xiàn)路徑與案例分析

    測試設備是車機交互測試自動化實現(xiàn)的核心支撐,通過合理選型、部署和應用北京沃華慧通測控技術有限公司汽車測試設備,結合科學的實現(xiàn)路徑和豐富的案例經(jīng)驗,能夠有效提高車機交互測試的效率和質量,
    的頭像 發(fā)表于 07-10 09:24 ?1391次閱讀
    車機交互測試<b class='flag-5'>自動化</b><b class='flag-5'>實現(xiàn)</b>路徑與案例分析

    羅克韋爾自動化推出PharmaSuite 12.00,加速實現(xiàn)安全、可擴展的部署

    作為工業(yè)自動化、信息和數(shù)字轉型領域的全球領先企業(yè)之一,羅克韋爾自動化近日宣布推出 FactoryTalk?PharmaSuite?12.00 。全新升級的制造執(zhí)行系統(tǒng)(MES)專為
    的頭像 發(fā)表于 06-06 09:43 ?1574次閱讀

    如何使用Docker部署大模型

    隨著深度學習和大模型的快速發(fā)展,如何高效地部署這些模型成為了一個重要的挑戰(zhàn)。Docker 作為一種輕量級的容器技術,能夠將模型及其依賴環(huán)境打包成一個可移植的容器,極大地簡化了部署流程
    的頭像 發(fā)表于 05-24 16:39 ?1113次閱讀

    集成Docker,解鎖 HMI/網(wǎng)關的定制應用

    工業(yè)自動化領域對定制HMI/網(wǎng)關的需求日益增長,而傳統(tǒng)設備因功能固化難以滿足快速迭代需求。宏集HMI&網(wǎng)關通過集成Docker技術,賦予設備超強的靈活性和擴展性,滿足企業(yè)的個性需求
    的頭像 發(fā)表于 05-22 11:06 ?550次閱讀
    集成<b class='flag-5'>Docker</b>,解鎖 HMI/網(wǎng)關的定制<b class='flag-5'>化</b>應用

    JenkinsDocker自動化CI/CD全流程

    要想做到一個高效的CI/CD流程,需要有能力整合DevOps工具鏈及多環(huán)境適配,并且設計之初以自動化為原則,如一鍵部署、一鍵升級。
    的頭像 發(fā)表于 05-14 11:50 ?904次閱讀
    <b class='flag-5'>Jenkins</b>和<b class='flag-5'>Docker</b><b class='flag-5'>自動化</b>CI/CD全流程

    一文掌握Jenkins自動化部署

    Jenkins自動化部署是現(xiàn)代軟件開發(fā)中不可或缺的一部分,它不僅簡化了代碼的發(fā)布過程,還為整個團隊帶來了無與倫比的效率和協(xié)作力。想象一下,開發(fā)者們可以專注于編寫高質量的代碼,而不是為繁瑣的手動
    的頭像 發(fā)表于 04-23 10:50 ?2857次閱讀
    一文掌握<b class='flag-5'>Jenkins</b><b class='flag-5'>自動化</b><b class='flag-5'>部署</b>

    【技術案例】Android in Docker

    Docker介紹Docker是一個開源的容器平臺,用于打包、分發(fā)和運行應用程序。它通過將應用及其所有依賴打包到獨立的容器中,確保應用在不同環(huán)境中一致運行。Docker提供快速
    的頭像 發(fā)表于 04-02 16:33 ?1757次閱讀
    【技術案例】Android in <b class='flag-5'>Docker</b>