У меня работает CICD.Как я могу автоматизировать шаги для подготовки релиза локально? - PullRequest
0 голосов
/ 12 мая 2018

У меня уже есть CICD в Дженкинсе, автоматизированный для моей команды. Нажатие на главную ветку протестирует и развернет приложение узла моей команды на npm. Однако шаги по подготовке для получения релиза сложны и многочисленны, и сейчас они просто находятся в текстовом файле. Я просто копирую эти шаги из текстового документа и вставляю их в командную строку Unix для их запуска. Я хочу написать что-то для автоматизации / инструмент, который выпускает Prep.

  • Мне нужно выполнить шаги команд и сделать паузу для подтверждения.
  • Мне нужно иметь возможность выйти на любом этапе и возобновить на любом этапе.
  • Мне нужно чередовать выполнение шагов для компьютера и информационных шагов для отображения людям.

Приятно иметь:

  • Было бы неплохо, чтобы шаги были относительно удобочитаемыми в коде.
  • Я бы предпочел использовать кого-то другого, чтобы не катать свой собственный.
  • Я уже знаю JavaScript, Bash, Make, yml

Как мне лучше всего автоматизировать мои предварительные выпуски?

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете просто передать все команды скрипту оболочки, как в unix,
$ vi release.sh

#!/bin/bash
//Release commands here 

Мне нужно выполнить шаги команд и сделать паузу для подтверждения.

Вы можете добавить следующий фрагмент кода к командам, которые вы хотите подтвердить перед продолжением

echo "Do you want to continue?(yes/no)"
read input
if [ "$input" == "yes" ]
then
echo "continue"
fi

Мне нужно иметь возможность выйти на любом этапе и возобновить на любом этапе.

Полагаю, вы имеете в виду ПАУЗУ и возобновление

когда ваш скрипт оболочки работает и вы чувствуете желание PAUSE, вы можете использовать Crtl + Z to PAUSE сценарий и делать все, что вы хотите, например, запускать другие сценарии / процессы или идти на чашку кофе:)

Для возобновления введите

 $jobs -->List all jobs
[1]+  Stopped                 release

пробег фг (на переднем плане) или бг (на заднем плане)
Примечание: должны быть в той же активной оболочке, чтобы она работала

Мне нужно чередовать выполнение шагов для компьютера и информационные шаги для показа людям

Добавить эхо

echo "Going to copy the file from  actual location to target location"
cp ACTUAL_LOC/file.txt TARGET_LOC/file.txt 

Было бы неплохо, чтобы шаги были относительно удобочитаемыми в Код.

Это полностью зависит от того, насколько хорошо вы напишите файл сценария:)

Я бы предпочел использовать кого-то другого, чтобы не катать свой.

Вы имеете в виду откат в командах sql или unix при сбое ??

...