如何使用jenkins管道上传.deb文件和您的凭据到Nexus OSS

6mzjoqzu  于 2023-06-21  发布在  Jenkins
关注(0)|答案(1)|浏览(166)

我尝试使用Nexus存储库来管理jenkins生成的 *.deb包,但当尝试将这些包上传到Nexus时,我收到了很多错误,使用jenkins凭据管理机制进行身份验证,将jenkins中的deb格式的包发布到Nexus存储库apt的最佳方法是什么?
使用“Nexus Repository Manager Publisher”时,apt存储库不会出现,只会出现maven存储库。
Tentei usar os seguintes scripts de pipeline:

withCredentials([usernamePassword(credentialsId: '3e4ea258-4b41-4379-a0fe-4462ed3e420a', passwordVariable: 'NEXUS_PASSWORD', usernameVariable: 'NEXUS_USERNAME')]) {
  sh '''
    for i in `/workspace/*.deb`
    do
        echo "Sending $i\r\n"
        curl -u \"$NEXUS_USERNAME:$NEXUS_PASSWORD\" -H "Content-Type: multipart/form-data" --data-binary \"@/$i\" "http://10.224.50.202:8081/repository/nerd4ever-labs/"
    done
  '''
}

withCredentials([usernamePassword(credentialsId: '3e4ea258-4b41-4379-a0fe-4462ed3e420a', passwordVariable: 'NEXUS_PASSWORD', usernameVariable: 'NEXUS_USERNAME')]) {
  sh '''
    for i in `/workspace/*.deb`
    do
        echo "Sending $i\r\n"
        curl -u $(NEXUS_USERNAME):$(NEXUS_PASSWORD) --upload-file $i "http://10.224.50.202:8081/repository/nerd4ever-labs/"
    done
  '''
}

使用上面的管道,我得到了错误:
:语法错误:意外换行
这是我第一次接触Sonatype Nexus Repository Manager,我使用的是OSS 3.32.0-03版本。
我计划将它用于apt(debian)、yum(centos)、poudriere(freebsd)和composer软件包,但我在基础方面遇到了困难。
我已经设置了apt存储库。

kg7wmglp

kg7wmglp1#

你好,解决方案是:

#!/bin/bash

#
# Script para subir .DEB's en el nexus repo.
#
# @author   Luis Felipe <lfelipe1501@gmail.com>
# @website  https://www.lfsystems.com.co
# @version  1.0

nexusURL="https://nexus.localhost"

FILES="$(ls workspace)"
for df in $FILES
do
    echo "Processing $df"
    curl -u "$NEXUS_USERNAME:$NEXUS_PASSWORD" -H "Content-Type: multipart/form-data" --data-binary "@workspace/$df" "$nexusURL/repository/apt-focal/"
done

你可以上传你想要的文件夹里的所有debs文件。

相关问题