這是我想出的醜陋的黑客。如果有人有一個更好的主意,我會很樂意給其他人「正確的」答案:
我意識到我需要部署父pom.xml和程序集。我在兩個獨立的後期構建步驟中做了這個。首先,我選擇了「調用頂級Maven目標」和Maven版本的「Maven」(我認爲這使用Jenkins版本的Maven,我不想在系統上放置不同的版本)。我用目標爲:
-s svn-admin/settings.xml -N deploy
這隻部署父pom nexus與我指定的settings.xml。
當我想部署rpm時,會發生很大的黑客攻擊。我嘗試了一個「部署文件」目標,但沒有一個變量,我可以擴展到版本號,我無法指定確切的文件和通配符不擴展。相反,我做了一個「執行shell」選項,並用捲髮我發現here:
env
UPLOAD_FILE=assembly/target/ips-${POM_VERSION}-x.x86_64.rpm
DESTINATION=http://mvnrepo01/nexus/content/repositories/releases/com/bla/ips/assembly/${POM_VERSION}/assembly-${POM_VERSION}.rpm
sha1sum ${UPLOAD_FILE} | awk -F" " '{print $1}' | curl -v -u admin:password --upload-file - ${DESTINATION}.sha1
md5sum ${UPLOAD_FILE} | awk -F" " '{print $1}' | curl -v -u admin:password --upload-file - ${DESTINATION}.md5
curl -v -u admin:password --upload-file ${UPLOAD_FILE} ${DESTINATION}
UPLOAD_FILE=assembly/pom.xml
DESTINATION=http://mvnrepo01/nexus/content/repositories/releases/com/bla/ips/assembly/${POM_VERSION}/assembly-${POM_VERSION}.pom
sha1sum ${UPLOAD_FILE} | awk -F" " '{print $1}' | curl -v -u admin:password --upload-file - ${DESTINATION}.sha1
md5sum ${UPLOAD_FILE} | awk -F" " '{print $1}' | curl -v -u admin:password --upload-file - ${DESTINATION}.md5
curl -v -u admin:password --upload-file ${UPLOAD_FILE} ${DESTINATION}
就像我說的,這是一個醜陋的黑客。我很確定有些元數據文件沒有得到更新,但rpm,它是pom,並且它們的校驗和正在上傳。
不會部署所有構建的工件?這不是我想要的。我只想要最終的工件(一個rpm),並且根據需要它是父級pom。 – Jared
顯然,如果你使用.m2/settings.xml中有用戶名密碼(我正在檢查svn中的settings.xml),你只能這樣做。 – Jared