DevOps AI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud
No Result
View All Result
DevOpsAI
No Result
View All Result
Home DevOps & Cloud

Lưu trữ artifact lên Nexus thông qua Jenkins

Storage artifact sau build stage lên Nexus thông qua Jenkins

Hiếu Tạ by Hiếu Tạ
25 Tháng 4, 2025
in DevOps & Cloud
0
Share on FacebookShare on Twitter

I. Lời mở đầu

Sau khi build ra artifact, chúng ta cần 1 chỗ để storage artifact đó thuận tiện cho việc deploy sau này hoặc những thứ liên quan. Như kiểu bạn từng nghe build docker image rồi push lên docker hub vậy. Thế này concept storage này, mình xin hướng dẫn tool Nexus để phục vụ cho nhu cầu trên.

II. Nội dung

    1. Tạo repository
      • repositories > create repository > maven2 (hosted)
    2. Cài plugin Nexus Artifact Uploader và Pipeline Utility Steps trên Jenkins
      • Manage Jenkins > Manage Plugins
    3. Add credentials Nexus
      Vào Manage Jenkins > Credentials, và múa như hình sau
    4. Add Maven tools
      Manage Jenkins > Global Tool Configuration

    5. Add Parameters Jenkins
      Sau khi tạo 1 Item Job Pipeline, thì config Parameters như sau, environments để thể hiện môi trường/server bạn muốn build cho source của mình
    6. Jenkinsfile

      Sau đó vào Jenkins file, thêm mớ hỗn độn dưới đây vào. Hãy customizes environment trong file nhé, như GIT_RO, NEXUS_VERSION,….
      Ý nghĩa là mình sẽ đọc file pom của project để lấy thông tin artifact để lưu trữ trên Nexus.

      pipeline {
          agent any 
          tools {
              maven "maven-3.8.5"
          }
          environment {
              GIT_REPOSITORY = "<https://github.com/taminhhieu31gl/spring-petclinic.git>"
              NEXUS_VERSION = "nexus3"
              NEXUS_PROTOCOL = "http"
              NEXUS_URL = "10.0.1.67:8081"
              NEXUS_CREDENTIAL_ID = "admin_nexus"
              NEXUS_REPOSITORY = "demo_nexus"
          }
          stages {
              stage("Checkout"){
                  steps {
                      checkout([$class: 'GitSCM', branches: [[name: '*/main']],extensions: [[$class: 'CleanCheckout']], userRemoteConfigs: [[url: GIT_REPOSITORY]]])
                  }
              }
              stage("Build"){
                  steps {
                      dir("target"){
                          bat "echo 'spring.profiles.active=$' > application.properties"
                      }
                      //sh "mvn -f . -Dprofile=$ENV package"
                      bat "mvn package"
                  }
              }
              stage("Publish to Nexus"){
                  steps {
                      script {
                          pom = readMavenPom file: "pom.xml";
                          filesByGlob = findFiles(glob: "target/*.${pom.packaging}");
                          echo "$"
                          artifactPath = filesByGlob[0].path;
                          echo "${filesByGlob[0].name} $ ${filesByGlob[0].directory} ${filesByGlob[0].length} ${filesByGlob[0].lastModified}"
                          artifactExists = fileExists artifactPath;
                          if(artifactExists) {
                              newVersion = "$-$";
                              echo "File: $, group: ${pom.groupId}, packaging: ${pom.packaging}, version: $";
                              result = nexusArtifactUploader(
                                  nexusVersion: NEXUS_VERSION,
                                  protocol: NEXUS_PROTOCOL,
                                  nexusUrl: NEXUS_URL,
                                  groupId: pom.groupId,
                                  version: newVersion,
                                  repository: NEXUS_REPOSITORY,
                                  credentialsId: NEXUS_CREDENTIAL_ID,
                                  artifacts: [
                                      [artifactId: pom.artifactId,
                                      classifier: '',
                                      file: artifactPath,
                                      type: pom.packaging]
                                  ]
                              );
                              if(!result){
                                  error "Upload artifact ${filesByGlob[0].name} fail!";
                              }
                          } else {
                              error "File: $, could not be found";
                          }
                      }
                  }
              }
          }
      }

III. Kết quả


 

Chúc các bạn thành công!!

Related Post

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 2025

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

7 Tháng 6, 2025

Hướng Dẫn Thiết Lập LDAPS Trên Windows Server 2022

26 Tháng 4, 2025
Tags: agentartifactbuilddemodeploydevopsdockerenvironmenthướng dẫnjenkinskiến trúcmavenNexusrepositorytool
Hiếu Tạ

Hiếu Tạ

Graduated as a Software Engineer. I have more than 3-year experience in developing software and DevOps, used to many services of AWS, and Azure, K8S, and using Windows or Linux on-premies proficiently to set up servers, proxy, build and deploy multiple programming languages (Java, GO, NET,...)..... Experience with CMS such SiteCore, ElasticPath, AEM... Implement CICD via Jenkins scripting, infrastructure as code via Terraform, and AWS Cloud Formation.

Related Posts

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
AI & Automation

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

by devopsify
16 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất
DevOps & Cloud

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

by devopsify
11 Tháng 6, 2025
DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên
Bảo mật

DevOpsify Check Tool – Công cụ dòng lệnh đa năng cho DevOps, IT và lập trình viên

by devopsify
7 Tháng 6, 2025
Next Post
Tích hợp Cucumber test report vào Jenkins

Tích hợp Cucumber test report vào Jenkins

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Recommended

Các website demo hay được sử dụng cho thực hành Automation Test

Các website demo hay được sử dụng cho thực hành Automation Test

11 Tháng 6, 2025
Cài đặt Maven trên Windows

Cài đặt Maven trên Windows

11 Tháng 6, 2025
Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

Hướng dẫn cài đặt Kubernetes trên Ubuntu 22.04

1 Tháng 5, 2025
Tổng hợp các phiên bản Stable Diffusion: So sánh, tính năng và yêu cầu phần cứng

Tổng hợp các phiên bản Stable Diffusion: So sánh, tính năng và yêu cầu phần cứng

13 Tháng 6, 2025
Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent

16 Tháng 6, 2025
MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật

16 Tháng 6, 2025
DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

13 Tháng 6, 2025
GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

GitHub Action DevOpsify Check Tool – Tự động kiểm tra bảo mật & hiệu suất

11 Tháng 6, 2025
DevOpsify

Cộng đồng DevOps Việt Nam chia sẽ kiến thức giúp tăng tốc quá trình phát triển ứng dụng và tự động hóa trong lĩnh vực Cloud DevOps & AI.

Bài viết mới

  • Sử dụng VS Code và Playwright MCP tự động test demo website Demoblaze thông qua GitHub Copilot Agent
  • MCP server 2025 tốt nhất : Hướng dẫn chọn & bảo mật
  • DevOpsify Check Tool hỗ trợ MCP – Tự động hóa kiểm tra qua AI Claude & VS Code

Categories

  • AI & Automation
  • Bảo mật
  • Chưa phân loại
  • DevOps & Cloud
  • Tin tức
No Result
View All Result
  • Home
  • Bảo mật
  • AI & Automation
  • DevOps & Cloud
  • Bộ đề luyện thi cloud

© 2025 DevOpsify