簡體   English   中英

如何從 jenkins UI 控制台本身下載構建輸出文件

[英]How to download build output files from jenkins UI console itself

我是新 Jenkins ,使用部署在Tomcat6上的jenkins 1.651.3 War
有什么方法可以從 jenkins UI 控制台本身下載 Jenkins 作業的輸出文件(我的作業生成了一個 jar 文件)?

所以,任何人都可以建議我有什么方法或插件可以使每個 Jenkins 構建輸出文件(如 Jar/War)可以從 Jenkins 服務器機器下載

 [INFO] 
    [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ NumberGenerator ---
    [INFO] Building jar: /opt/cloudhost/jenkinsHome/jobs/TestGiby/workspace/NumberGenerator/target/NumberGenerator-0.0.1-SNAPSHOT.jar
    [INFO] 
    [INFO] --- maven-install-plugin:2.4:install (default-install) @ NumberGenerator ---
    [INFO] Installing /opt/cloudhost/jenkinsHome/jobs/TestGiby/workspace/NumberGenerator/target/NumberGenerator-0.0.1-SNAPSHOT.jar to /opt/cloudhost/software/maven/mavenRepo/com/giby/maven/NumberGenerator/0.0.1-SNAPSHOT/NumberGenerator-0.0.1-SNAPSHOT.jar
    [INFO] Installing /opt/cloudhost/jenkinsHome/jobs/TestGiby/workspace/NumberGenerator/pom.xml to /opt/cloudhost/software/maven/mavenRepo/com/giby/maven/NumberGenerator/0.0.1-SNAPSHOT/NumberGenerator-0.0.1-SNAPSHOT.pom
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 2.575 s
    [INFO] Finished at: 2017-02-01T05:00:44+00:00
    [INFO] Final Memory: 19M/607M
    [INFO] ------------------------------------------------------------------------
    Finished: SUCCESS

使用Archive the artifacts post-build 步驟,它將在 artifacts 文件夾中復制選定的 artifacts。

歸檔工件構建步驟

然后您將能夠從構建頁面本身下載文件。

下載構建工件

對於管道,您需要將其添加到管道腳本本身中。 檢查用於存檔工件的相應 groovy 腳本或找到以下示例(這是一個工作代碼)。

post {
    always {
            archive "project/embsw/debug/**/*"
           stash includes: 'project/embsw/debug/project_R0.bin', name: 'debugBuiltArtifacts'
           }
    }

好吧,您可以右鍵單擊“查看為無格式文本”並選擇“將鏈接另存為”以將日志保存在您的 PC 上。

我可以直接在 Notepad++ 中打開控制台日志。 只需右鍵單擊“完整日志”鏈接,復制鏈接地址,然后將其粘貼到 Notepad++ 中的“打開”對話框中。

“完整日志”鏈接

在此處輸入圖片說明

我的 Jenkins 服務器必須配置為允許這樣做。

以防萬一有人在 Jenkinsfile 中搜索如何啟用此選項,我將給出一個示例,其中我從 MariaDB 數據庫備份單個表,然后從作業構建中下載它:)

stage('Backup') {
            steps {
                script {
                    sh "rm -rf db.dump.sql*"
                    withCredentials([usernamePassword(credentialsId: 'my-database-credentials', passwordVariable: 'DB_PASSWORD', usernameVariable: 'DB_USERNAME')]) {
                        sh """docker run --rm -t \
                            -v $WORKSPACE:/data \
                            --entrypoint mysqldump \
                            mariadb -v \
                            -P 3306 \
                            -h ${DB_HOST} \
                            -u master \
                            --password="${DB_PASSWORD}" \
                            --default-character-set=latin1 \
                            --skip-lock-tables --skip-add-locks \
                            --single-transaction --add-drop-table --complete-insert \
                            --result-file="/data/db.dump.sql" ${DATABASE_NAME} ${TABLE_NAME}"""
                    }
                    sh "du -sh db.dump.sql"
                    archiveArtifacts artifacts: 'db.dump.sql', excludes: 'output/*.md'
                }
            }
        }

只需在您的 Jenkinsfile 腳本中添加以下行

archiveArtifacts artifacts: 'db.dump.sql', excludes: 'output/*.md'

在此處輸入圖片說明

參考:測試和工件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM