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

jenkins pipline 拉取git歷史版本

這篇具有很好參考價值的文章主要介紹了jenkins pipline 拉取git歷史版本。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

聲明,本文是基于:jenkins流水線(jenkinsfile)詳解,保姆式教程_我認不到你的博客-CSDN博客,以下內容介紹通過 Commit ID 拉取 git 歷史版本

Commit ID (節(jié)點號)是什么?(下圖是gitee的信息)

我的理解是:我們每次提交git的時候,除了保存我們修改的代碼外,也緩存了之前提交的代碼,可以用于我們查看更新的內容,而Commit ID 就是為了識別這些歷史的提交版本

jenkins pipline 拉取git歷史版本

一、設置字符參數(shù)

我這里只展示了一個關于 git 版本的字符信息,也是本文最重要的一個,其他都不是必要的

其他的我設置了 nametag 來規(guī)定docker制作鏡像的名字和版本

jenkins pipline 拉取git歷史版本

二、編寫流水線代碼

1、點擊流水線語法

jenkins pipline 拉取git歷史版本

2、選擇checkout:Check out from version control

再選擇git,后面填寫自己 git 項目的 url 這個指的不是 網(wǎng)頁的那個 url , 是你拉取項目 git clone url 的這個 url ,再添加憑證

jenkins pipline 拉取git歷史版本

3、其他不用管,點擊生成流水線腳本就行,后面我會講具體有什么用

jenkins pipline 拉取git歷史版本

4、我的 Jenkins pipline 腳本

pipeline {
    // 指定任務在哪個集群節(jié)點中執(zhí)行,any表示任意節(jié)點
    agent any
    
        // 聲明全局變量,方便后面修改使用
    environment {
                        
        // 源jar名稱,mvn打包之后,target目錄下的jar包名稱
        JAR_NAME='main*'

        // jenkins下的目錄
        JENKINS_HOME='/var/jenkins_home/workspace/graduationProject'
    }

    // 工具,這是我在 jenkins 的全局配置配的,之前的博客有講過
    tools{
        maven 'maven-3.8.4'
    }
    
    
    stages {
        stage('拉取代碼') {
            steps {
                // 清除工作空間
                deleteDir()
                // 拉取代碼 gitTag 是 之前自定義的 字符串參數(shù)
                checkout([$class: 'GitSCM', branches: [[name: '${gitTag}']], extensions: [], userRemoteConfigs: [[credentialsId: '生成的', url: 'git的url']]])
                echo '拉取成功'
            }
        }
        
        stage('執(zhí)行構建') {
            steps {
            //    sh "mvn --version"
              sh "mvn clean package"
                echo '構建完成'
            }
        }
        
        stage('把jar包構建為docker鏡像并運行') {
            steps {
                sh '''#!/bin/bash
                        
                        // 進入 jar 包所在目錄 , 好配合 Dockerfile 生成 Docker 鏡像
                        cd $JENKINS_HOME/admin/target
                        
                        // 把Dockerfile 復制到 jar 包所在目錄 ,好配合 Dockerfile 生成 Docker 鏡像
                        cp $JENKINS_HOME/Dockerfile $JENKINS_HOME/admin/target
                        
                        # 修改文件權限  JAR_NAME
                        chmod 755 $JAR_NAME.jar
                        
                        # name 和 tag 是我 又設置的 一個字符參數(shù) ,步驟和 gitTag 是一樣的
                        echo "停止容器"
                        docker stop $name
                        
                        echo "刪除容器"
                        docker rm $name
                        
                        echo "刪除鏡像"
                        docker rmi $name
                        
                        # 這個點(.)就是指的本目錄下的 Dockerfile 文件,而
                        echo "打包鏡像"
                        docker build -t $name:$tag .
                        
                        echo "運行鏡像"
                        docker run -d -p 9999:9600 --name $name $name:$tag
                '''
                echo '運行成功'
            }
        }
    }
}

三、2.2中生成參數(shù)的講解

checkout: Check out from version control 文檔:Pipeline: SCM Step (jenkins.io)

GitSCM詳細參數(shù)的可以看官網(wǎng)的教程:scmGit (jenkins.io),雖然官網(wǎng)叫scmGit,但使用的時候要用GitSCM,不然會報錯哈

// doGenerateSubmoduleConfigurations 可要可不要
// submoduleCfg 可要可不要
// extensions 也可不要
checkout(
    [$class: 'GitSCM', 
     doGenerateSubmoduleConfigurations: false, 
     submoduleCfg: [], 
     extensions: [[$class: 'CloneOption', depth: 1, noTags: false, reference: '', shallow: true]],
     branches: [[name: '${gitTag}']],
     userRemoteConfigs: [[url: "git的url", credentialsId: "生成的"]]]
)
// 簡化
checkout(
    [$class: 'GitSCM', 
     branches: [[name: '${gitTag}']],
     userRemoteConfigs: [[url: "git的url", credentialsId: "生成的"]]]
)
  • GitSCM:指定拉取git的源碼(必填

  • doGenerateSubmoduleConfigurations : boolean(可選)

    • 刪除了用于測試 git 子模塊版本組合的工具。在 git 插件 4.6.0 中刪除。忽略用戶提供的值,并始終用作其值。false
  • submoduleCfg(可選)

    刪除了用于測試 git 子模塊版本組合的工具。在 git 插件 4.6.0 中刪除。忽略用戶提供的值,并始終使用空值。

  • extensions:擴展為不同用途添加新行為或修改現(xiàn)有插件行為,幫助用戶更精確地調整插件行為以滿足使用需求。參數(shù)項比較多,挑一些常用的說明一下。(可選)

    • $class: ‘CloneOption’:用于定義clone時的一些參數(shù)配置。
      • depth:int類型,設置淺克隆深度,通常設置為1用于加快拉取,如果想要常規(guī)clone,則刪除此配置項。
      • noTags:bool類型,取消選擇此選項可在沒有標簽的情況下執(zhí)行克隆,從而在您只想訪問 refspec 指定的內容時節(jié)省時間和磁盤空間。
      • reference:String類型,指定包含存儲庫的文件夾,Git 將在克隆操作期間將其用作參考。如果文件夾在執(zhí)行克隆的控制器或代理上不可用,則將忽略此選項。
      • shallow:bool類型,執(zhí)行淺克隆,這樣 git 就不會下載項目的歷史記錄,可以節(jié)省時間和磁盤空間。
      • timeout:int類型,指定克隆和獲取操作的超時時間(以分鐘為單位,默認值:10)。
  • branches:指定要構建的分支相關的標識信息。(必填

    • name:String類型,如果您想跟蹤存儲庫中的特定分支,請指定分支。例如master,一般配合參數(shù)傳遞過來。不過里邊不僅僅支持分支名字的定義,還支持如下類型:

      • <branchName>:指定要檢出的分支,例如master。
      • <tagName>:指定要檢出的tag,例如v0.0.1。
      • <commitId>:檢出指定的提交,例如:5062ac843f2b947733e6a3b105977056821bd352,5062ac84

      需要注意的是:如果使用commitID進行構建,而且是一個過去的ID,那么depth: 1需要去掉,否則總是會報錯。

  • userRemoteConfigs:指定git倉庫相關的信息(必填

    • url:String類型,指定 git 存儲庫的 URL 或路徑。以下是有效 git URL 的示例:

      • ssh://git@github.com/github/git.git
      • git@github.com:github/git.git (short notation for ssh protocol)
      • ssh://user@other.host.com/~/repos/R.git (to access the repos/R.git repository in the user’s home directory)
      • https://github.com/github/git.git

      建議統(tǒng)一使用https風格,這樣日常使用時便于跳轉。

    • credentialsId:String類型,用于檢查源的憑據(jù),通常只需要寫明憑據(jù)的name即可。

    • name:String類型,存儲庫的 ID,一般情況下用不到。

  • gitTool:String類型,指定git命令的路徑,通常情況下,git都是系統(tǒng)全局可用的,因此此參數(shù)可忽略。(可選)

四、測試

1、復制 commit id

jenkins pipline 拉取git歷史版本

2、測試使用分支啟動

2.1、master分支

name 和 tag 是生產 Docker 鏡像需要的不影響

jenkins pipline 拉取git歷史版本

2.2、結果

jenkins pipline 拉取git歷史版本

3、測試 commit id 啟動

3.1、commit id

jenkins pipline 拉取git歷史版本

3.2、結果

jenkins pipline 拉取git歷史版本

之前的教程

CICD與DevOps

jenkins使用docker安裝保姆級教程(面向小白教程,最新最全,全圖文)2022-8-1,不會docker也沒關系

使用jenkins+gitee創(chuàng)建docker鏡像并運行文章來源地址http://www.zghlxwxcb.cn/news/detail-456331.html

本文參考

Jenkins的pipeline實踐之GitSCM參數(shù)配置項詳解原創(chuàng) - 碼農教程 (manongjc.com)

使用jenkins+gitee創(chuàng)建docker鏡像并運行

到了這里,關于jenkins pipline 拉取git歷史版本的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • Jenkins-Pipline實現(xiàn)原理

    本文僅探討jenkins pipline 的原理,是流水線的一個demo版本實現(xiàn),不能代表Jenkins pipline的具體實現(xiàn),僅供參考。 Jenkinsfile流水線是Jenkins CI/CD工具中用來定義、構建和管理軟件交付流程的一種聲明式文件。 它允許將整個軟件交付流程以代碼的形式進行描述,從而實現(xiàn)對軟件交付過

    2024年02月15日
    瀏覽(17)
  • 將項目復制到新電腦之后, 無法通過git 進行拉取代碼/查看歷史提交記錄等操作

    將項目復制到新電腦之后, 無法通過git 進行拉取代碼/查看歷史提交記錄等操作

    將項目代碼整體打包到新環(huán)境(新電腦), 在idea/pycharm下載好git相關插件并打開項目之后, 通過git拉取代碼失敗(gitlab/git/gtee) 最近因工作原因需要講電腦上的代碼遷移到新電腦上, 但是將idea以及git插件等配置好之后, 打開項目, 發(fā)現(xiàn)無法查看之前的提交記錄, 即使點擊刷新也無法查

    2024年02月04日
    瀏覽(39)
  • Jenkins中使用pipeline進行git拉取和推送

    Jenkins中使用pipeline進行git拉取和推送

    點擊 Pipeline Syntax 選擇 git:Git 或 checkout:xxxxxx ,然后選擇下方 -none- 處已經(jīng)添加的用戶名跟密碼,若未添加,則使用下方 Add 進行添加 在下方使用 Generate Pipeline Script 進行語法生成,如下: 生成的格式為: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 即為我們需要的用戶字符串 pipeline的使用案

    2024年02月16日
    瀏覽(18)
  • jenkins構建pipline無法執(zhí)行shell命令原因

    jenkins構建pipline無法執(zhí)行shell命令原因

    新的服務器上,新安裝的jenkins,在上面創(chuàng)建了一個pipline項目,腳本里有shell命令,但是jenkins每次執(zhí)行都卡住,經(jīng)過嘗試, 無論多簡單的命令都執(zhí)行不了 ,cp,mv等都不行,只有echo能執(zhí)行。 以為是服務器問題,于是刪除該虛擬機重裝。 重新把環(huán)境安裝好,再把一模一樣的p

    2024年02月16日
    瀏覽(19)
  • Git | 如何git clone 歷史版本

    Git | 如何git clone 歷史版本

    首先git clone 最新版本 再通過git checkout id號 可以退回歷史版本 可以在提交里面,找到需要版本的id號

    2024年02月02日
    瀏覽(23)
  • git 03(切換歷史版本)

    git 03(切換歷史版本)

    目錄 一、查看歷史版本 二、切換上一個版本 三、切換原來的版本 ?有三個歷史版本: ?當前版本:? ? ?HEAD ( 指向master的一個指針叫HEAD ) 上一個版本:? HEAD^ 上上個版本:HEAD^^ 第100個版本:HEAD~100 回到上一個版本: 切換到原來版本成功:? 注意: 如果切換到舊版本,忘記了

    2024年02月11日
    瀏覽(34)
  • 03-git切換歷史版本

    03-git切換歷史版本

    目錄 一、查看歷史版本 二、切換上一個版本 三、切換原來的版本 ?有三個歷史版本: ?當前版本:? ? ?HEAD ( 指向master的一個指針叫HEAD ) 上一個版本:? HEAD^ 上上個版本:HEAD^^ 第100個版本:HEAD~100 回到上一個版本: 切換到原來版本成功:? 注意: 如果切換到舊版本,忘記了

    2024年02月11日
    瀏覽(14)
  • idea中回退git歷史版本并刪除歷史提交記錄

    idea中回退git歷史版本并刪除歷史提交記錄

    本篇文章主要介紹git在idea中的回退歷史版本,適用場景為代碼提錯分支、正常回退版本都可適用。 ?。?!回退前先檢查一下本地分支是否和遠程分支對應,否則會失?。。?! 1,打開idea中git歷史提交窗口 快捷鍵 alt + 9 (有改動則是自己改的快捷鍵) 2,選擇要回退的版本拷貝版

    2024年02月11日
    瀏覽(27)
  • jenkins 2.346.1 從git拉取后自動構建部署springboot maven項目

    jenkins 2.346.1 從git拉取后自動構建部署springboot maven項目

    1、jenkins官網(wǎng)下載 jenkins2.346.1版本(2.346之后不支持java8) Jenkins 的安裝和設置 下載的war包通過 java -jar jenkins.war可運行 也可下載安裝版本直接安裝 http://localhost:8080,端口號8080根據(jù)安裝時的設定進行對應的變更,安裝后需要等待一段時間。 確認發(fā)布應用的服務器安裝了java g

    2024年02月02日
    瀏覽(21)
  • centos安裝Jenkins并拉取git遠程倉庫的代碼進行自動化構建部署

    centos安裝Jenkins并拉取git遠程倉庫的代碼進行自動化構建部署

    在linux上安裝jenkins的前提條件是已經(jīng)安裝了jdk、maven、git 這里是在centos上直接安裝openjdk11 查看是否安裝成功 安裝好后,看下版本 首先下載maven安裝文件,此處我選擇的版本是3.6.3,下載地址, 下載后上傳到服務器目錄/usr/local目錄下 修改目錄名稱為maven3, 所以服務器中maven的

    2024年02月04日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包