国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

一文完成Jenkins+Docker+Git(多分支構(gòu)建)打包、部署,實現(xiàn)可持續(xù)化集成

這篇具有很好參考價值的文章主要介紹了一文完成Jenkins+Docker+Git(多分支構(gòu)建)打包、部署,實現(xiàn)可持續(xù)化集成。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Jenkins簡介

官網(wǎng):Jenkins官網(wǎng)

參考:Jenkins簡介

什么是Jenkins?

  1. Jenkins是一個開源軟件項目,起源于Hudson(Hudson是商用的),是基于Java開發(fā)的一種持續(xù)集成工具,用于監(jiān)控持續(xù)重復(fù)的工作,旨在提供一個開放易用的軟件平臺,使軟件項目可以進行持續(xù)集成
  2. 可在Tomcat等流行的servlet容器中運行,也可獨立運行。
  3. 提供友好操作界面的持續(xù)集成(CI)工具
  4. 它用于實時測試和報告較大代碼庫中的孤立更改。
  5. Jenkins軟件使開發(fā)人員能夠快速找到并解決代碼庫中的缺陷,并自動進行構(gòu)建測試。

其他CI工具

  • Jenkins
  • TeamCity
  • Travis
  • CIGo
  • CDBamboo
  • GitLabCI
  • CircleCI
  • Codeship

什么是持續(xù)集成

CI(Continuous integration,中文意思是持續(xù)集成)是一種軟件開發(fā)實踐。持續(xù)集成強調(diào)開發(fā)人員提交了新代碼之后,立刻進行構(gòu)建、(單元)測試。根據(jù)測試結(jié)果,我們可以確定新代碼和原有代碼能否正確地集成在一起。借用網(wǎng)絡(luò)圖片對CI加以理解。

jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

CD(Continuous Delivery, 中文意思持續(xù)交付)是在持續(xù)集成的基礎(chǔ)上,將集成后的代碼部署到更貼近真實運行環(huán)境(類生產(chǎn)環(huán)境)中。比如,我們完成單元測試后,可以把代碼部署到連接數(shù)據(jù)庫的Staging環(huán)境中更多的測試。如果代碼沒有問題,可以繼續(xù)手動部署到生產(chǎn)環(huán)境。下圖反應(yīng)的是CI/CD 的大概工作模式。

jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

Jenkins 狀態(tài)

  • Successful藍色:構(gòu)建完成,并且被認為是穩(wěn)定的。
  • Unstable黃色:構(gòu)建完成,但被認為是不穩(wěn)定的。
  • Failed紅色:構(gòu)建失敗。
  • Disable灰色:構(gòu)建已禁用

構(gòu)建穩(wěn)定性

  • 晴轉(zhuǎn)多云
  • 多云
  • 小雨
  • 雷陣雨

安裝Jenkins

基于Linux

  1. 下載 Jenkins的war包

    https://www.jenkins.io/zh/download/ # 中文
    https://www.jenkins.io/download/ # 英文

  2. 打開網(wǎng)站后,點擊下載war包

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 下載完成后,通過ftp工具上傳到服務(wù)器

  4. 設(shè)置Jenkins環(huán)境變量

    1. 打開環(huán)境變量配置文件

      vim /etc/profile
      
    2. 設(shè)置JENKINS_HOME

      # Jenkins 環(huán)境變量配置
      export JENKINS_HOME=/environment/jenkins/jenkins_home
      
    3. 重載文件

      source /etc/profile
      
  5. cd到war的文件目錄下,創(chuàng)建 jenkins.log文件存儲日志,然后運行命令啟動war包

    nohup java -jar jenkins.war -httpPort=8080 >jenkins.log 2>&1 &
    
  6. 啟動完成后,瀏覽器輸入ip+8080端口,如下:

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  7. 為了保證安全,Jenkins需要我們到圖中紅色的目錄復(fù)制默認超級管理員密碼,找到目錄中的文件復(fù)制即可,或通過查看日志獲取

  8. 然后點擊繼續(xù)并等待一段時間后,如圖,這里是讓我們安裝插件,點擊左側(cè)的按鈕安裝Jenkins推薦安裝的插件即可(如果頁面加載不出可以反復(fù)加載重試)。

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  9. 插件下載完成后,會提示你創(chuàng)建一個管理用戶,創(chuàng)建即可。

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  10. 如圖,則表示安裝成功了!(版本不同,頁面ui不同)

jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

基于Docker

不推薦docker命令啟動,會有各種各樣的問題(重啟Jenkins,容器直接掛了,且容器日志沒有任何報錯信息),但是問了運維同事說使用 docker-compose 啟動比較穩(wěn)定,所以奉上 docker-compose 的啟動命令。

docker命令啟動
  1. 拉取鏡像

    docker pull jenkins/jenkins:latest
    
  2. 啟動容器

    docker run --name myjenkins -d -p 8080:8080 -p 50000:50000 -u 0 -v /tmp/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime:ro jenkins/jenkins:latest
    
  3. 容器啟動后,參考上面基于linux安裝Jenkins即可,從 瀏覽器輸入ip+8080端口 開始。

docker-compose 啟動
version: "3"
services:
  app:
    image: jenkins/jenkins
    container_name: jenkins
    restart: always
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./jenkins_home:/var/jenkins_home
    ports:
      - "8080:8080"
      - "50000:50000"
docker-compose up -d

安裝時遇到的坑

中文只翻譯一半

jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

參考:Jenkins 中文設(shè)置

配置打包環(huán)境

安裝JDK

下載jdk

官網(wǎng):Linux:JDK1.8

jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

下載完成后,通過ftp工具將安裝包上傳到服務(wù)器,然后進入容器內(nèi)部創(chuàng)建一個文件夾用來放置安裝包

  1. 進入Jenkins容器內(nèi)部(Jenkins非Docker部署忽略此步)

    docker exec -it -u root myjenkins /bin/bash
    
  2. 進入容器后創(chuàng)建文件夾,創(chuàng)建完成后退出容器

    cd /tmp 	# 切換目錄
    mkdir jdk 	# 創(chuàng)建文件夾
    ls 			# 查看是否創(chuàng)建成功
    exit 		# 退出容器(Jenkins非Docker部署忽略此步)
    
  3. 將服務(wù)器的文件復(fù)制到容器內(nèi)部(Jenkins非Docker部署忽略此步)

    docker cp /tmp/JDK/jdk-8u341-linux-x64.tar.gz myjenkins:/tmp/jdk
    

    命令解釋:docker cp 本地文件路徑 容器名稱:容器路徑

解壓

  1. 進入Jenkins容器內(nèi)部(Jenkins非Docker部署忽略此步)

    docker exec -it -u root myjenkins /bin/bash
    
  2. 切換目錄

    cd /tmp/jdk
    
  3. 查看是否復(fù)制成功

    ls
    
  4. 解壓:

    tar -zxvf jdk-8u341-linux-x64.tar.gz
    
  5. 刪除壓縮包:

    rm -f jdk-8u341-linux-x64.tar.gz 
    

配置jdk環(huán)境變量

  1. 打開linux環(huán)境變量配置文件

    vim /etc/profile
    

    如果提示沒有vim命令,可參考:Docker容器安裝Vim 或依次執(zhí)行如下命令:

    apt-get update
    apt-get install -y libtinfo5
    apt-get install -y vim
    
  2. 進入profile文件后,按i在最后一行編輯如下:

    export JAVA_HOME=/tmp/jdk/jdk1.8.0_341 
    
    export JRE_HOME=${JAVA_HOME}/jre
    
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
    
    export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
    
    export PATH=$PATH:${JAVA_PATH}
    
  3. 按esc輸入:wq保存退出

  4. 重新加載配置文件

    source /etc/profile
    
  5. 輸入 java -version 命令查看是否安裝成功,如圖則成功

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

安裝Maven

參考:linux 安裝 maven

下載maven

官網(wǎng):Maven下載

jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

下載完成后,通過ftp工具將安裝包上傳到服務(wù)器,然后進入容器內(nèi)部創(chuàng)建一個文件夾用來放置安裝包

  1. 進入Jenkins容器內(nèi)部(Jenkins非Docker部署忽略此步)

    docker exec -it -u root myjenkins /bin/bash
    
  2. 創(chuàng)建目錄放置壓縮包

    cd /tmp 	# 切換目錄
    mkdir maven 	# 創(chuàng)建文件夾
    ls 			# 查看是否創(chuàng)建成功
    exit 		# 退出容器(Jenkins非Docker部署忽略此步)
    
  3. 將服務(wù)器的文件復(fù)制到容器內(nèi)部(Jenkins非Docker部署忽略此步)

    docker cp /tmp/Maven/apache-maven-3.8.6-bin.tar.gz myjenkins:/tmp/maven
    

    命令解釋:docker cp 本地文件路徑 容器名稱:容器路徑

解壓

  1. 進入Jenkins容器內(nèi)部(Jenkins非Docker部署忽略此步)

    docker exec -it -u root myjenkins /bin/bash
    
  2. 查看是否復(fù)制成功

    ls
    
  3. 切換目錄

    cd /tmp/maven
    
  4. 解壓:

    tar -zxvf apache-maven-3.8.6-bin.tar.gz
    
  5. 刪除壓縮包:

    rm -f apache-maven-3.8.6-bin.tar.gz
    

創(chuàng)建Maven資源庫目錄

  1. cd 到 maven 的 /conf 目錄,然后創(chuàng)建文件夾

    mkdir -p /m2/repository
    
  2. 編輯 settings.xml 文件

    vim settings.xml
    
  3. 將下面內(nèi)容復(fù)制到 settings.xml 文件中,復(fù)制快捷鍵"shift + insert"

    <?xml version="1.0" encoding="UTF-8"?>
     
    <settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
     
      <localRepository>/m2/repository</localRepository>
      
      <pluginGroups>
      </pluginGroups>
     
      <proxies>    
      </proxies>
     
      <servers>
      </servers>
     
      <mirrors>
        <mirror>  
       	  <id>alimaven</id>  
       	  <name>aliyun maven</name>  
    	  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
       	  <mirrorOf>central</mirrorOf>          
        </mirror> 
      </mirrors>
     
      <profiles>
      </profiles>
    </settings>
    

配置Maven環(huán)境變量

  1. 打開linux環(huán)境變量配置文件

    vim /etc/profile
    
  2. 將下面內(nèi)容復(fù)制到 profile 文件最下面

    MAVEN_HOME=/environment/maven/apache-maven-3.8.6
    
    PATH=$MAVEN_HOME/bin:$PATH
    
    export MAVEN_HOME PATH
    
  3. 按esc輸入:wq保存退出

  4. 重新加載配置文件

    source /etc/profile
    
  5. 測試是否安裝成功

    mvn -version
    

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

Jenkins配置Maven

  1. 依次點擊 系統(tǒng)管理 --> 全局工具配置

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  2. 找到maven,并輸入自己的maven地址,點擊應(yīng)用并保存即可

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

安裝Nodejs

參考: Linux下Node.js安裝及環(huán)境配置

如果是docker部署Jenkins,需要進入Jenkins容器內(nèi)部操作

docker exec -it -u root myjenkins /bin/bash

下載Nodejs

官網(wǎng)下載nodejs安裝包

nodejs官網(wǎng):下載 | Node.js (nodejs.org)

jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

在linux中創(chuàng)建一個nodejs的文件夾,通過ftp工具上傳到該文件夾

解壓

  1. 解壓該壓縮包

    tar -xvf node-v16.17.0-linux-x64.tar.xz
    
  2. 修改文件名為版本號,便于以后的路徑輸入

    mv node-v16.17.0-linux-x64.tar.xz v16.17.0
    

配置Nodejs環(huán)境變量

  1. 打開環(huán)境變量配置文件(可通過 pwd 命令查看當前路徑,方便復(fù)制當前路徑)

    vim /etc/profile
    
  2. 設(shè)置 nodejs 環(huán)境變量

    # nodejs環(huán)境變量配置
    export NODE_HOME=/usr/local/nodejs/v14.17.0
    export PATH=$NODE_HOME/bin:$PATH
    
  3. 重新加載配置文件

    source /etc/profile
    
  4. 測試是否安裝成功

    node -v
    

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

npm配置淘寶鏡像

npm設(shè)置與刪除淘寶鏡像
 
用淘寶的鏡像下載資源 國內(nèi)的訪問速度會比較快
 
一、npm命令:不改變原來的名稱,只是換了一個下載資源
 
1.npm設(shè)置淘寶鏡像
 
npm config set registry https://registry.npm.taobao.org
 
npm config set disturl https://npm.taobao.org/dist
 
2.npm刪除淘寶鏡像
npm config delete registrynpm config delete disturl

Jenkins配置nodejs

  1. 依次點擊 系統(tǒng)管理 --> 全局工具配置

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  2. 找到nodejs,并輸入自己的nodejs地址,點擊應(yīng)用并保存即可

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

Gitee

需要安裝好Jenkins和配置好環(huán)境才可以進行

Gitee環(huán)境準備

安裝gitee插件

  1. Jenkins下載 gitee 插件,依次點擊 系統(tǒng)管理 --> 插件管理

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  2. 在可選插件中,搜索 gitee ,選中然后點擊 Install without restart

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 安裝完成后,勾選按鈕,等待Jenkins重啟即可

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

配置gitee

可參考官網(wǎng)配置說明:Jenkins 插件 - Gitee.com

  1. 依次點擊 系統(tǒng)管理 --> 系統(tǒng)配置

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  2. 找到 gitee配置 點擊 新增

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 點擊 證書令牌 下面的 添加,然后選擇 Jenkins

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  4. 打開地址( https://gitee.com/profile/personal_access_tokens ),轉(zhuǎn)到gitee

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  5. 點擊生成新令牌

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  6. 輸入gitee密碼,然后會生成一個令牌,復(fù)制一下,然后填寫到Jenkins中

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    然后點擊添加即可

  7. 測試是否成功,顯示成功即可

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

Java項目(后端)

參考博客:使用jenkins+gitee創(chuàng)建docker鏡像并運行

需要先完成上面Gitee環(huán)境的準備!

項目準備

  1. 在springboot項目里的pom文件,添加maven打包工具

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
  2. 在源目錄下創(chuàng)建一個Dockerfile文件,文件類型為file,無后綴

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    在Dockerfile文件中輸入如下內(nèi)容(根據(jù)自己的實際情況進行修改):

    # 拉取一個jdk8的鏡像
    FROM java:8
    
    # 生成這個鏡像的作者
    MAINTAINER xu
    
    # copy宿主機中的jar包到鏡像中,并重命名為app.jar
    COPY *.jar app.jar
    
    # 設(shè)置服務(wù)端口
    CMD ["--server.port=1235"]
    
    # 暴露端口
    EXPOSE 1235
    
    # 啟動jar包
    ENTRYPOINT ["java","-jar","app.jar"]
    
  3. 將這些修改提交到git

Jenkins新建任務(wù)

  1. 點擊Jenkins首頁中的 新建任務(wù)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  2. 選擇之前配置的gitee鏈接

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 點擊確定后如圖,依次點擊 源碼管理 --> git

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  4. 填寫自己的倉庫信息

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    倉庫地址獲取方法:

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  5. 輸入自己的gitee用戶信息,全部輸入完成后,點擊添加即可

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  6. 添加完成后,選中剛才添加的賬號密碼

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  7. 配置 Gitee webhook(使用Gitee webhook實現(xiàn)上傳到git就可以更新,可以理解為鉤子函數(shù))

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  8. Gitee webhook 中拉到最下面,有個 Gitee WebHook 密碼 ,點擊生成按鈕生成Gitee WebHook密碼并復(fù)制下來

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  9. 打開gitee中的倉庫,找到剛才上面Jenkins綁定的倉庫,依次點擊 管理 --> WebHook --> 添加webHook

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  10. 將剛才的密碼復(fù)制到密碼處,上面的url則復(fù)制一下Jenkins中如圖的url,都復(fù)制完成后,點擊 添加 按鈕

jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  1. 配置maven

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  2. 配置shell腳本,當Jenkins把最新代碼從gitee拉取下來之后,進行打包部署等操作

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 將下面腳本復(fù)制進去即可(根據(jù)實際情況自己修改)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    #!/bin/bash
    
    echo "切換到j(luò)ar包所在目錄~~~~~~"
    cd /environment/jenkins/jenkins_home/workspace/fastapi/target
    
    echo "把文件中的Dockerfile放在跟jar包一個位置,方便我們打成鏡像"
    cp /environment/jenkins/jenkins_home/workspace/fastapi/Dockerfile /environment/jenkins/jenkins_home/workspace/fastapi/target
    
    echo "修改jar包權(quán)限~~~~~~"
    chmod 777 aifast-0.0.1-SNAPSHOT.jar
    
    
    
    # 容器英文:container,鏡像英文:image
    
    echo "看看docker能不能用"
    docker -v
    
    echo "停止容器"
    docker stop fastapicontainer
    
    echo "刪除容器"
    docker rm fastapicontainer
    
    echo "刪除鏡像"
    docker rmi fastapiimage
    
    echo "打包鏡像"
    docker build -t fastapiimage -f Dockerfile .
    
    echo "運行鏡像"
    docker run -d -p 9876:9876 --name fastapicontainer fastapiimage
    
  4. 點擊應(yīng)用保存即可

  5. Dockerfile與shell腳本的聯(lián)系

    我們先看shell腳本(這個要根據(jù)自己情況改)

    首先我們要先理解這個jenkins是一個docker容器,是與本機隔離的,跑的代碼都是在容器中執(zhí)行的,所以我們之前用maven打包到了 /environment/jenkins/jenkins_home/workspace/gitee/target 這個位置

    使用我們首先要進去這個target文件夾 就是 cd /environment/jenkins/jenkins_home/workspace/gitee/target

    停止容器,刪除容器,刪除鏡像,是為了每次創(chuàng)建的時候,都不占內(nèi)存,硬盤

    要把dockerfile和jar包放在一個好做成鏡像(這里不理解的去學(xué)docker),使用復(fù)制了一份Dockerfile文件到target文件夾內(nèi) cp /environment/jenkins/jenkins_home/workspace/gitee/Dockerfile /environment/jenkins/jenkins_home/workspace/gitee/target

    改一下文件的權(quán)限 chmod 755 xiaoyang-0.0.1-SNAPSHOT.jar

    因為在 target 目錄下了,而且Dockerfile也拷貝下來了,所以使用Dockerfile打包成鏡像 docker build -t testgitee -f Dockerfile .

    運行docker鏡像,成為容器

    我們再看dockerfile文件

    Dockerfile文件跟jar包在同一目錄 ,掃描target目錄下的jar包 復(fù)制為 app.jar ,使用 java -jar /app.jar 就可以運行了,并開發(fā)端口1235(這個跟springboot開放的端口是一致的)

運行測試

  1. 點擊剛才新建的任務(wù)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  2. 點擊 立即構(gòu)建

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 點擊這個時間處

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  4. 點擊 控制臺輸出 查看打包日志,日志中有詳細的打包部署過程,首次打包可能比較慢,因為maven需要下載項目的依賴包

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  5. 在日志最下方,出現(xiàn) Finished: SUCCESS,則為打包成功!

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

Vue項目(前端)

參考:【Jenkins】Docker +Jenkins+vue項目部署

需要先完成上面Gitee環(huán)境的準備!

項目準備

在源目錄下創(chuàng)建一個Dockerfile文件,內(nèi)容如下:

# 依賴 nginx 容器
FROM nginx

# 首先刪除 nginx default.conf 文件
RUN rm /etc/nginx/conf.d/default.conf

# 用本地的 default.conf 替換 nginx 鏡像的默認配置
ADD default.conf /etc/nginx/conf.d/

# 將項目打包后的 dist 目錄,拷貝到 default.conf 指定的發(fā)布目錄
COPY dist/ /usr/share/nginx/html/

Jenkins安裝nodejs插件

在Jenkins插件管理中,搜索 nodejs 安裝并重啟Jenkins即可,安裝插件的具體步驟參考上面的內(nèi)容 Gitee -> Gitee環(huán)境準備 --> 安裝gitee插件

Jenkins新建任務(wù)

  1. 新建一個自由風格的軟件項目,依次點擊即可

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  2. 選擇之前配置的gitee鏈接

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 填寫倉庫信息,認證方式如果沒有,可以參考上面java項目的配置方式,之前配置過可以用現(xiàn)成的,所以這里略過了

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  4. 選擇 構(gòu)建觸發(fā)器 --> Gitee webhook 觸發(fā)構(gòu)建

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  5. 滑動到Gitee webhook 觸發(fā)構(gòu)建最下面生成你的WebHook密碼

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  6. 復(fù)制生成的webhook密碼,打開gitee倉庫,點擊 管理 ,找到 WebHook ,點擊 添加webhook

  7. 將Jenkins中如圖的url以及剛才Jenkins生成的webhook密碼復(fù)制進去然后點擊 添加

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  8. 回到Jenkins,配置nodejs ,點擊 環(huán)境構(gòu)建 --> Provide Node & npm bin/ folder to PATH

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  9. 依次點擊

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  10. 輸入框輸入腳本,點擊應(yīng)用并保存即可

    #!/bin/bash
    
    echo "切換到項目所在目錄"
    cd /environment/jenkins/jenkins_home/workspace/testNodeJsJob
    
    echo "~~~~~~~~~~~~~~~~~~前端開始構(gòu)建啦~~~~~~~~~~~~~~~~~~"
    
    echo "清理前端緩存~~~~~~"
    npm cache clean --force
    
    echo "刪除之前的打包文件~~~~~~"
    echo "rm -rf dist"
    rm -rf dist
    echo "rm -rf node_modules"
    rm -rf node_modules 
    echo "rm -rf package-lock.json"
    rm -rf package-lock.json
    echo "文件刪除成功~~~~~~"
    
    # 有時npm install 會出錯,可以先運行這個在執(zhí)行下面的install,參考地址:https://blog.csdn.net/weixin_46900108/article/details/120396662
    # echo "下載依賴包之前執(zhí)行的install,保險?。?
    # npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
    echo "開始下載依賴包~~~~~~"
    npm install  --force --registry=https://registry.npm.taobao.org  --unsafe-perm
    
    echo "開始構(gòu)建靜態(tài)文件~~~~~~"
    npm run build
    
    echo "~~~~~~~~~~~~~~~~~~前端構(gòu)建完成啦~~~~~~~~~~~~~~~~~~"
    
    echo "給構(gòu)建好的dist文件權(quán)限~~~~~~"
    chmod 777 /environment/jenkins/jenkins_home/workspace/testNodeJsJob/dist
    
    echo "將Dokcerfile復(fù)制到dist文件夾下,方便我們打成鏡像~~~~~~"
    cp -Rf /environment/jenkins/jenkins_home/workspace/testNodeJsJob/Dockerfile /environment/jenkins/jenkins_home/workspace/testNodeJsJob/dist
    
    
    # 容器英文:container,鏡像英文:image
    
    echo "看看docker能不能用"
    docker -v
    
    echo "停止容器"
    docker stop testnodecontainer
    
    echo "刪除容器"
    docker rm testnodecontainer
    
    echo "刪除鏡像"
    docker rmi testnodeimage
    
    echo "打包鏡像"
    docker build -t testnodeimage -f Dockerfile .
    
    echo "運行鏡像"
    docker run -d -p 1122:1122 --name testnodecontainer testnodeimage
    
#!/bin/bash

# 切換到項目所在目錄
cd /environment/jenkins/jenkins_home/workspace/testNodeJsJob

echo "前端開始構(gòu)建"
# 前端開始構(gòu)建
npm cache clean --force

rm -rf dist

rm -rf node_modules 

rm -rf package-lock.json

# 有時npm install 會出錯,可以先運行這個在執(zhí)行下面的install
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver

npm install  --force --registry=https://registry.npm.taobao.org  --unsafe-perm

npm run build

echo "前端完成構(gòu)建"
# 前端完成構(gòu)建

# 給構(gòu)建好的dist文件權(quán)限
# chmod 777 /environment/jenkins/jenkins_home/workspace/testNodeJsJob/dist

# 將dokcerfile復(fù)制到dist文件夾下,方便我們打成鏡像
cp -Rf /environment/jenkins/jenkins_home/workspace/testNodeJsJob/Dockerfile /environment/jenkins/jenkins_home/workspace/testNodeJsJob/dist


echo "看看docker能不能用"
docker -v

# 容器:container,鏡像:image

echo "停止容器"
# 停止容器
docker stop testnodecontainer

echo "刪除容器"
# 刪除容器
docker rm testnodecontainer

echo "刪除鏡像"
# 刪除鏡像
docker rmi testnodeimage

echo "打包鏡像"
# 打包鏡像
docker build -t testnodeimage -f Dockerfile .

echo "運行鏡像"
# 運行鏡像
docker run -d -p 1122:1122 --name testnodecontainer testnodeimage

jenkins多分支構(gòu)建選擇

參考博客:jenkins多分支構(gòu)建選擇

當上面的完成后,單分支部署就完成了,但是因為前面的打包配置中,源碼管理 里的 git 下的 Branches to build 我們使用的是默認值 “ */master ” ,這樣只能部署master分支,而我們的git不可能只用master分支,后面還會有各種開發(fā)分支,因此這里要配置多分支構(gòu)建

jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  1. 安裝 Git Parameter 插件,操作步驟和上面安裝gitee插件相同

  2. 插件安裝完成并重啟后,選擇我們剛才創(chuàng)建的任務(wù),然后點擊 配置

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 依次點擊

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  4. 配置參數(shù)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  5. 點擊 源碼管理 ,輸入之前的分支參數(shù)名稱,注意前面加“$”符

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  6. 應(yīng)用并保存,可以看到,這里已經(jīng)變成 Build with Parameters

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  7. 點擊 Build with Parameters 后,就可以看到我們所有的分支都有了,選擇指定分支構(gòu)建即可

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

對接第三方

釘釘

參考:

  • Jenkins配置釘釘通知
  • 釘釘開放文檔 (dingtalk.com)

1、在群聊中添加機器人

  1. 打開一個釘釘群,群設(shè)置–>智能群助手

  2. 點擊添加機器人

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 選擇 自定義機器人 并點擊 添加

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  4. 設(shè)置機器人基本信息

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  5. 點擊完成后,如圖,復(fù)制Webhook,后面需要使用

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

2、釘釘webhook配置

  1. Jenkins安裝釘釘插件: DingTalk

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    注:

    如果Jenkins版本過低,安裝最新的Jenkins插件可能會導(dǎo)出出現(xiàn)問題,可以到Jenkins官網(wǎng)進行插件下載

    Jenkins插件:Jenkins Plugins

    選擇合適的插件版本后,點擊如圖下載插件

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

    然后再Jenkins的插件管理中,選擇高級,找到 Deploy Plugin

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  2. 安裝插件并重啟Jenkins后,依次點擊 系統(tǒng)管理 --> 系統(tǒng)配置 ,找到釘釘插件

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 設(shè)置機器人信息

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  4. 點擊測試按鈕,測試是否能夠成功發(fā)送消息,顯示測試成功并且釘釘收到消息則為成功

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

3、項目中配置機器人

  1. 隨便找一個項目,點擊配置

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  2. 選擇想要使用的機器人,并點擊高級

    • 勾選atAll:通知群內(nèi)所有人
    • 指定人:輸入框中輸入要通知人的手機號(多個手機號之間用逗號或換行分隔)

    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)

  3. 完成后應(yīng)用并保存即可,接著去打包測試,這時釘釘群就可以收到消息啦~
    jenkins打包,發(fā)布,部署,運維,jenkins,docker,git,運維開發(fā)文章來源地址http://www.zghlxwxcb.cn/news/detail-800420.html

到了這里,關(guān)于一文完成Jenkins+Docker+Git(多分支構(gòu)建)打包、部署,實現(xiàn)可持續(xù)化集成的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【jenkins部署】一文弄懂自動打包部署(前后臺)

    【jenkins部署】一文弄懂自動打包部署(前后臺)

    軟件開發(fā)中,會分多個環(huán)境,開發(fā)環(huán)境、測試環(huán)境、預(yù)發(fā)布環(huán)境、生產(chǎn)環(huán)境,軟件部署如果是純?nèi)斯ひ粋€個通過jar的方式, 會有如下問題: 服務(wù)器過多,容易出錯 修改配置,可能會存在未修改到位的情況 服務(wù)器部署權(quán)限一般只有開發(fā)服務(wù)器人才有權(quán)限,涉及到服務(wù)器的安全

    2024年02月08日
    瀏覽(24)
  • Jenkins List Git Branches插件 構(gòu)建選擇指定git分支

    Jenkins List Git Branches插件 構(gòu)建選擇指定git分支

    List Git Branches Parameter | Jenkins plugin Adds ability to choose from git repository revisions or tags https://plugins.jenkins.io/list-git-branches-parameter/ 1)新建任務(wù)? 2)新增構(gòu)建參數(shù)? 3)選擇git倉庫 我這里選擇gitee,其他類似。倉庫如果不是公開的,需要配置key? 4)jenkins配置git倉庫 5)開始構(gòu)建 點擊

    2024年02月08日
    瀏覽(25)
  • Jenkins拉取代碼構(gòu)建完成后部署到其他服務(wù)器(詳解)

    Jenkins拉取代碼構(gòu)建完成后部署到其他服務(wù)器(詳解)

    問題描述: 文章介紹了如何在linux從0搭建jenkins平臺,并實現(xiàn)獲取git上的代碼,進行代碼的自動化打包部署。 一、檢查Java環(huán)境 因為jenkins的運行依賴于Java環(huán)境,所以我們在進行jenkins搭建時,需要先確保自己的linux有java環(huán)境。如果沒有請先安裝java環(huán)境(建議安裝java11,因為新

    2024年02月04日
    瀏覽(21)
  • 將整個Jenkins發(fā)布到git,完成Jenkins備份,附上部署教程

    將整個Jenkins發(fā)布到git,完成Jenkins備份,附上部署教程

    我們的Jenkins一般都是兩種部署方式,一種是直接部署到機器上,另一種是部署在docker內(nèi),但是不管哪一種部署方式,都依賴于機器的存貨性,下面咱這個也相當于一個備份方案吧,可以隨便想部署到哪里就部署到哪里。 首先,大家要先了解Jenkins_home 這個目錄內(nèi)具體都代表什

    2023年04月08日
    瀏覽(29)
  • 項目打包docker鏡像 | 上傳nexus | jenkins一鍵構(gòu)建

    項目打包docker鏡像 | 上傳nexus | jenkins一鍵構(gòu)建

    ??Docker部署項目是指使用Docker容器化技術(shù)將應(yīng)用程序及其依賴項打包成一個獨立的、可移植的運行環(huán)境,并在各種操作系統(tǒng)和平臺上進行部署和運行。 ??使用Docker的主要原因是解決了應(yīng)用程序在不同環(huán)境中部署和運行的問題。傳統(tǒng)上,應(yīng)用程序在部署時需要考慮操作系統(tǒng)

    2024年02月09日
    瀏覽(28)
  • Jenkins+Maven+Gitlab+Tomcat 自動化構(gòu)建打包,部署

    Jenkins+Maven+Gitlab+Tomcat 自動化構(gòu)建打包,部署

    1、安裝服務(wù) Jenkins工具、環(huán)境、插件配置 全局變量配置 Manage JenkinstoolsJDK 安裝 安裝插件 Deploy to container 安裝此插件,才能將打好的包部署到tomcat上 ? ? 配置國內(nèi)mvn源 創(chuàng)建maven項目 1 ?2 ? 3? ? 4? ? 5? ? 6? ? 7? ? 8? ? ?9 10 ?

    2024年02月05日
    瀏覽(33)
  • 一文搞懂jenkins安裝部署(Docker)

    一文搞懂jenkins安裝部署(Docker)

    一、簡介: 本文主要記錄如何通過docker安裝jenkins,并通過jenkins部署項目,最終效果:在jenkins對某個項目點擊構(gòu)建,jenkins就會去gitLab上拉取最新項目的最新代碼,然后根據(jù)pom.xml文件,把項目打包成jar,并自動把這個最新的jar運行起來,達到一鍵式構(gòu)建的目標。 二、操作步驟

    2023年04月25日
    瀏覽(26)
  • 基于Jenkins自動打包并部署docker環(huán)境

    基于Jenkins自動打包并部署docker環(huán)境

    目錄 1、安裝docker-ce 2、阿里云鏡像加速器 3、構(gòu)建tomcat 基礎(chǔ)鏡像? 4、構(gòu)建一個Maven項目 實驗環(huán)境 操作系統(tǒng) IP地址 主機名 角色 CentOS 7.5 192.168.200.111 git git服務(wù)器 CentOS 7.5 192.168.200.112 Jenkins?git客戶端 jenkins服務(wù)器 CentOS 7.5 192.168.200.113 docker web服務(wù)器 在192.168.200.113上創(chuàng)建遠程目錄

    2024年02月11日
    瀏覽(34)
  • docker-compose 集成Jenkins部署,打包,發(fā)布

    docker-compose 集成Jenkins部署,打包,發(fā)布

    需要提前準備的條件 查詢linux服務(wù)器中jdk,maven,nodejs的路徑地址,掛載到j(luò)enkins容器的指定路徑,如下圖: 寫法:-服務(wù)器路徑:容器路徑 圖片內(nèi)容說明將服務(wù)器中的jdk,maven,nodejs掛載到j(luò)enkins容器中 - /root/.ssh:/root/.ssh 為ssh生成的密鑰地址?。?! 圖中可以合并寫成 Jenkins需要

    2024年02月04日
    瀏覽(17)
  • 小白新手一文完成Git+Github/GITEE傻瓜式入門詳解部署教程(內(nèi)含TortoiseGit配置)

    小白新手一文完成Git+Github/GITEE傻瓜式入門詳解部署教程(內(nèi)含TortoiseGit配置)

    本文創(chuàng)作時版本為 Git-2.41.0,使用目標為筆記存儲和代碼庫,部分公司向使用的設(shè)置可能不一樣 本文在創(chuàng)作時通過狂神說視頻的學(xué)習和幫助 版本控制 (Revision control)是一種在開發(fā)的過程中用于管理我們對文件、目錄或工程等內(nèi)容的修改歷史,方便查看更改歷史記錄,備份以

    2024年02月04日
    瀏覽(55)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包