Добавить метку времени в файл войны, сгенерированный из проекта Node, в артефакт в конвейере Jenkins - PullRequest
0 голосов
/ 06 января 2020

У меня есть файл war, сгенерированный из моего конвейера Jenkins. Я хочу опубликовать его в Артефактории. Я хочу добавить метку времени к моему war файлу, созданному на Artifactory. Есть ли способ изменить JenkinsFile, чтобы отразить метку времени?

def server = Artifactory.newServer url: "https://artifacts.com/artifactory"
buildInfo = Artifactory.newBuildInfo()
uploadSpec = """{
    "files": [
    {
        "pattern": "./build/*.war",
        "target": "<path-to-target>"
    }
    } """

    // Upload to Artifactory.
    server.upload spec: uploadSpec, buildInfo: buildInfo
    // Publish build info.
    server.publishBuildInfo buildInfo

Какие изменения необходимы в JenkinsFile, чтобы включить метку времени в артефакт?

1 Ответ

0 голосов
/ 06 января 2020

Два решения,

  1. переименуйте файл перед его загрузкой.

    • Если у вас есть только один файл и вы знаете его имя:
sh 'mv toto.war `date +"%d-%m-%Y-%H.%M"`toto.war'
  • Если у вас есть несколько файлов, имена которых вы не знаете
sh '''#!/bin/bash
for i in *.war; do mv "$i" ${i::-4}`date +"--%d-%m-%Y-%H.%M"`.war; done
'''

Здесь мы используем bash для l oop через все файлы .war и переместите их, чтобы переименовать. ${i::-4} удаляет расширение. Вы можете изменить формат даты, посмотрев справочную страницу даты.

используйте groovy и позвольте целевому свойству переименовать
@Field def timeStamp = Calendar.getInstance().getTime().format('YYYYMMdd-hhmmss',TimeZone.getTimeZone('CST'))

uploadSpec = """{
    "files": [
    {
        "pattern": "./build/*.war",
        "target": "<path-to-target>.${timeStamp}.war"
    }
    } """

оригинальное сообщение от: Как добавить метку времени для артефактов в Jenkins

как вы упомянули, вам также нужно будет добавить в белый список метод Calendar.getInstance, getTime и getTimeZone

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...