Информационная безопасность *
Американские власти задержали россиянина Кирилла Фирсова по подозрению в хищении персональных данных жителей штата Калифорния для их дальнейшей продажи с целью использования в фальшивых удостоверениях личности. Об этом говорится в судебных материалах, размещенных в электронной базе Южного округа Калифорнии, сообщает ТАСС.
Прокуратура Южного округа Калифорнии называет Фирсова администратором платформы deer.io. Россиянин был задержан в Международном аэропорту Джона Кеннеди в Нью-Йорке «в субботу, 7 марта 2020 года». Прокуратура просила суд засекретить материалы данного дела до 9 марта, однако Магистратский судья Эллисон Годдард 9 марта постановила рассекретить эти материалы.
К этим материалам приобщены письменные показания агента ФБР США Брайана Нилсона.
ФБР утверждает, что киберплатформа deer.io «базируется в России и позволяет преступникам получать доступ к онлайн-магазину этой платформы для продажи преступных товаров и услуг». По данным ФБР, данный ресурс функционирует с октября 2013 года и насчитывает более 24 тыс. виртуальных торговых точек с суммарным объемом продаж в $17 млн. Фирсову вменяется в вину то, что он, являясь «российским хакером и администратором deer.io, не только управлял данной платформой, но и рекламировал ее на других киберфорумах, обслуживавших хакеров».
Согласно материалам, ФБР проанализировало ассортимент около 250 виртуальных торговых точек deer. io и пришло к заключению, что речь идет главным образом о похищенной персональной и финансовой информации, включая годы рождения, адреса проживания, пароли, номера карт социального страхования граждан США. Пострадали лица и организации в Европе и Соединенных Штатах, включая Южный округ Калифорнии.
В материалах отмечается, что 4 марта ФБР, не раскрывая себя, сделало контрольную закупку на deer.io данных владельцев около 1,1 тыс. аккаунтов за $20, номинированных в биткойнах. 249 из этих аккаунтов были взломаны и принадлежали клиентам упомянутой выше компании со штаб-квартирой в Сан-Диего (штат Калифорния). Она является легальным оператором интерактивных видеоигр.
Ссылка по теме: «FBI Arrests Alleged Owner of Deer.io, a Top Broker of Stolen Accounts»
Теги:
Хабы:
Всего голосов 30: ↑28 и ↓2 +26
Просмотры36K
Комментарии 86
@meduzzer
Пользователь
Комментарии Комментарии 86
Deer.io интернет-магазин киберпреступность ФБР
ФБР арестовало россиянина, связанного с платформой Deer.io
Alexander Antipov
Deer.io интернет-магазин киберпреступность ФБР
На платформе Deer.io размещались интернет-магазины, где преступники продавали похищенные данные и аккаунты.
Сотрудники ФБР арестовали россиянина, предположительно, управлявшего платформой Deer.io. На данном сервисе для размещения интернет-магазинов киберпреступники рекламировали и продавали взломанные учетные записи и похищенные пользовательские данные.
Кирилл Ф. был арестован 7 марта в аэропорту имени Джона Кеннеди в Нью-Йорке. По словам американских чиновников, он руководил и управлял платформой Deer. io с момента ее запуска в октябре 2013 года.
На сайте Deer.io пользователи могли размещать свои интернет-магазины по цене около $12 в месяц. По информации на Deer.io, на платформе размещено более 24 тыс. торговых площадок, а доходы россиянина составляли более $17 млн.
Как сообщается в обвинительном заключении, более 250 проанализированных ФБР интернет-магазинов продавали доступ к взломанным учетным записям, взломанным серверам и личной информации, такой как имена, номера социального страхования, даты рождения и адреса жертв. Сотрудники ФБР в ходе расследования неоднократно покупали похищенные данные в магазинах, размещенных на Deer.io, и подтвердили достоверность информации.
Американские чиновники сообщили, что подозреваемый был полностью осведомлен о незаконности своих действий, поскольку он регулярно рекламировал Deer.io на подпольных форумах.
Мир сходит с ума и грянет киберапокалипсис. Подпишись на наш Телеграм канал, чтобы узнать первым, как выжить в цифровом кошмаре!
Поделиться новостью:
Подпишитесь на получение последних материалов по безопасности от SecurityLab. ru —
новости, статьи, обзоры уязвимостей и мнения аналитиков.
Ежедневный выпуск от SecurityLab.Ru
Еженедельный выпуск от SecurityLab.Ru
Нажимая на кнопку, я принимаю условия соглашения.
ПакетПакет fs определяет базовые интерфейсы к файловой системе. Файловая система может быть предоставлена основной операционной системой. но и другими пакетами.
Этот раздел пуст.
Просмотр исходного кода
вар ( ErrInvalid = errInvalid() // "недопустимый аргумент" ErrPermission = errPermission() // "отказано в доступе" ErrExist = errExist() // "файл уже существует" ErrNotExist = errNotExist() // "файл не существует" ErrClosed = errClosed() // "файл уже закрыт" )
Общие ошибки файловой системы. Ошибки, возвращаемые файловыми системами, можно проверить на наличие этих ошибок. используя ошибки.Есть.
Просмотр исходного кода
var SkipDir = errors.New("пропустить этот каталог")
SkipDir используется в качестве возвращаемого значения из WalkDirFuncs, чтобы указать, что каталог, указанный в вызове, должен быть пропущен. не возвращается как ошибка любой функции.
func Glob(fsys FS, строка шаблона) (соответствует []string, ошибка ошибки)
Glob возвращает имена всех файлов, соответствующих шаблону или nil
если нет соответствующего файла. Синтаксис шаблонов тот же
как в path.Match. Шаблон может описывать иерархические имена, такие как
usr/*/бен/ред.
Glob игнорирует ошибки файловой системы, такие как ошибки ввода-вывода при чтении каталогов. Единственная возможная возвращаемая ошибка — это path.ErrBadPattern, сообщающая, что узор искажен.
Если fs реализует GlobFS, Glob вызывает fs.Glob. В противном случае Glob использует ReadDir для обхода дерева каталогов. и ищите совпадения по образцу.
func ReadFile(fsys FS, строка имени) ([]байт, ошибка)
ReadFile считывает указанный файл из файловой системы fs и возвращает его содержимое. Успешный вызов возвращает нулевую ошибку, а не io.EOF. (Поскольку ReadFile считывает файл целиком, ожидаемый конец файла EOF из последнего чтения не рассматривается как ошибка, о которой необходимо сообщать.)
Если fs реализует ReadFileFS, ReadFile вызывает fs.ReadFile.
В противном случае ReadFile вызывает fs.Open и использует Read и Close
в возвращаемом файле.
func ValidPath(name string) bool
ValidPath сообщает, является ли указанное имя пути действителен для использования в вызове Open.
Имена путей, передаваемые в open, имеют кодировку UTF-8, неукорененные, разделенные косой чертой последовательности элементов пути, например «x/y/z». Имена путей не должны содержать элемент «.» или «..», или пустая строка, за исключением особого случая, когда корневой каталог называется «.». Пути не должны начинаться или заканчиваться косой чертой: «/x» и «x/» недействительны.
Обратите внимание, что пути разделены косой чертой во всех системах, даже в Windows. Пути, содержащие другие символы, такие как обратная косая черта и двоеточие принимаются как действительные, но эти символы никогда не должны интерпретируются реализацией FS как разделители элементов пути.
func WalkDir (fsys FS, корневая строка, fn WalkDirFunc) ошибка
WalkDir просматривает дерево файлов с корнем, вызывая fn для каждого файла или
каталог в дереве, включая корень.
Все ошибки, возникающие при посещении файлов и каталогов, фильтруются по fn: подробности см. в документации fs.WalkDirFunc.
Файлы просматриваются в лексическом порядке, что делает вывод детерминированным но требует, чтобы WalkDir прочитал весь каталог в памяти, прежде чем продолжить ходить по этому каталогу.
WalkDir не следует символическим ссылкам, найденным в каталогах, но если корень сам по себе является символической ссылкой, его цель будет пройдена.
Пример ¶основной пакет импорт ( "ФМТ" "ио/фс" "журнал" "Операционные системы" ) основная функция () { корень := "/usr/local/go/bin" файловая система: = os.DirFS (корень) fs.WalkDir(fileSystem, ".", func(строка пути, d fs.DirEntry, ошибка ошибки) error { если ошибка != ноль { log.Fatal(ошибка) } fmt.Println(путь) вернуть ноль }) }
Выход:
тип интерфейса DirEntry { // Имя возвращает имя файла (или подкаталога), описанного записью.// Это имя — только последний элемент пути (базовое имя), а не весь путь. // Например, Name вернет «hello.go», а не «home/gopher/hello.go». Имя () строка // IsDir сообщает, описывает ли запись каталог. IsDir() логический // Тип возвращает биты типа для записи. // Биты типа являются подмножеством обычных битов FileMode, возвращаемых методом FileMode.Type. Тип() FileMode // Info возвращает FileInfo для файла или подкаталога, описанного записью. // Возвращаемая FileInfo может относиться к моменту чтения исходного каталога // или с момента вызова Info. Если файл был удален или переименован // так как каталог прочитан, Info может вернуть ошибку, удовлетворяющую ошибкам.Is(err, ErrNotExist). // Если запись обозначает символическую ссылку, Info сообщает информацию о самой ссылке, // не цель ссылки. Info() (Информация о файле, ошибка) }
DirEntry — это запись, считанная из каталога (используя функцию ReadDir или метод ReadDir ReadDirFile).
func FileInfoToDirEntry(info FileInfo) DirEntry
FileInfoToDirEntry возвращает DirEntry, который возвращает информацию из info. Если информация равна нулю, FileInfoToDirEntry возвращает ноль.
func ReadDir(fsys FS, строка имени) ([]DirEntry, ошибка)
ReadDir читает именованный каталог и возвращает список записей каталога, отсортированных по имени файла.
Если fs реализует ReadDirFS, ReadDir вызывает fs.ReadDir. В противном случае ReadDir вызывает fs.Open и использует ReadDir и Close в возвращаемом файле.
тип интерфейса FS { // Open открывает указанный файл. // // Когда Open возвращает ошибку, она должна иметь тип *PathError // с полем Op, установленным на «открыть», полем Path, установленным на имя, // и поле Err с описанием проблемы. // // Open должен отклонять попытки открыть имена, которые не удовлетворяют // ValidPath(name), возвращая *PathError с Err установленным на // ErrInvalid или ErrNotExist. Открыть (строка имени) (Файл, ошибка) }
ФС обеспечивает доступ к иерархической файловой системе.
Интерфейс FS — это минимальная реализация, необходимая для файловой системы. Файловая система может реализовывать дополнительные интерфейсы, например ReadFileFS, для предоставления дополнительных или оптимизированных функций.
func Sub(fsys FS, строка каталога) (FS, ошибка)
Sub возвращает FS, соответствующий поддереву с корнем в каталоге fsys.
Если dir равен «.», Sub возвращает fsys без изменений. В противном случае, если fs реализует SubFS, Sub возвращает fsys.Sub(dir). В противном случае Sub возвращает новую подсистему реализации FS, которая, фактически реализует sub.Open(name) как fsys.Open(path.Join(dir, name)). Реализация также соответствующим образом переводит вызовы ReadDir, ReadFile и Glob.
Обратите внимание, что Sub(os.DirFS(«/»), «prefix») эквивалентен os.DirFS(«/prefix»)
и что ни один из них не гарантирует избежать операционной системы
доступ вне «/префикса», потому что реализация os.DirFS
не проверяет символические ссылки внутри «/prefix», которые указывают на
другие каталоги. То есть os.DirFS не является общей заменой
механизм безопасности в стиле chroot, и Sub не меняет этого факта.
тип Файловый интерфейс { Stat() (Информация о файле, ошибка) Чтение([]байт) (целое число, ошибка) Закрыть() ошибка }
Файл обеспечивает доступ к одному файлу. Файловый интерфейс — это минимальная реализация, необходимая для файла. Файлы каталогов также должны реализовывать ReadDirFile. Файл может реализовывать io.ReaderAt или io.Seeker в качестве оптимизаций.
тип интерфейса FileInfo { Name() строка // базовое имя файла Size() int64 // длина в байтах для обычных файлов; системно-зависимый для других Mode() FileMode // биты режима файла ModTime() time.Time // время модификации IsDir() bool // сокращение от Mode().IsDir() Sys() любой // базовый источник данных (может возвращать nil) }
FileInfo описывает файл и возвращается Stat.
func Stat(fsys FS, строка имени) (FileInfo, ошибка)
Stat возвращает FileInfo, описывающий именованный файл из файловой системы.
Если fs реализует StatFS, Stat вызывает fs.Stat. В противном случае Stat открывает файл для его статистики.
type FileMode uint32
FileMode представляет режим файла и биты разрешений. Биты имеют одинаковое определение во всех системах, так что информация о файлах может быть перемещена из одной системы к другому переносимо. Не все биты применимы ко всем системам. Единственный обязательный бит — это ModeDir для каталогов.
константа ( // Отдельные буквы — это аббревиатуры // используется форматированием метода String. ModeDir FileMode = 1 << (32 - 1 - iota) // d: это каталог ModeAppend // a: только добавление ModeExclusive // l: монопольное использование ModeTemporary // T: временный файл; Только план 9 ModeSymlink // L: символическая ссылка ModeDevice // D: файл устройства ModeNamedPipe // p: именованный канал (FIFO) ModeSocket // S: доменный сокет Unix ModeSetuid // u: setuid ModeSetgid // g: setgid ModeCharDevice // c: символьное устройство Unix, когда ModeDevice установлен ModeSticky // t: липкий ModeIrregular // ?: нестандартный файл; больше ничего не известно об этом файле // Маска для битов типа.Для обычных файлов ничего не будет установлено. ModeType = ModeDir | РежимСимволическая ссылка | ModeNamedPipe | РежимСокет | Режим Устройство | ModeCharDevice | РежимНерегулярный ModePerm FileMode = 0777 // Биты разрешений Unix )
Определенные биты файлового режима являются старшими битами FileMode. Девять младших битов являются стандартными разрешениями Unix rwxrwxrwx. Значения этих битов следует рассматривать как часть общедоступного API и могут использоваться в проводных протоколах или дисковых представлениях: они не должны изменены, хотя могут быть добавлены новые биты.
func (m FileMode) IsDir() bool
IsDir сообщает, описывает ли m каталог. То есть он проверяет, установлен ли бит ModeDir в m.
func (m FileMode) IsRegular() bool
IsRegular сообщает, описывает ли m обычный файл. То есть он проверяет, не установлены ли биты типа режима.
func (m FileMode) Perm() FileMode
Perm возвращает биты разрешения Unix в m (m & ModePerm).
func (m FileMode) String() string
func (m FileMode) Type() FileMode
Тип возвращает биты типа в m (m и ModeType).
тип интерфейса GlobFS { ФС // Glob возвращает имена всех файлов, соответствующих шаблону, // обеспечение реализации верхнего уровня // Глобальная функция. Glob(строка шаблона) ([]строка, ошибка) }
GlobFS — это файловая система с методом Glob.
тип PathError struct { Строка оператора Строка пути Ошибка ошибки }
PathError записывает ошибку, операцию и путь к файлу, вызвавшие ее.
func (e *PathError) Error() string
func (e *PathError) Timeout() bool
Тайм-аут сообщает, представляет ли эта ошибка тайм-аут.
func (e *PathError) Ошибка Unwrap()
тип интерфейса ReadDirFS { ФС // ReadDir читает указанный каталог // и возвращает список записей каталога, отсортированных по имени файла. ReadDir(строка имени) ([]DirEntry, ошибка) }
ReadDirFS — это интерфейс, реализованный файловой системой
который обеспечивает оптимизированную реализацию ReadDir.
тип интерфейса ReadDirFile { Файл // ReadDir читает содержимое каталога и возвращает // срез до n значений DirEntry в порядке каталога. // Последующие вызовы того же файла дадут дополнительные значения DirEntry. // // Если n > 0, ReadDir возвращает не более n структур DirEntry. // В этом случае, если ReadDir вернет пустой слайс, он вернет // ненулевая ошибка, объясняющая почему. // В конце каталога ошибка io.EOF. // (ReadDir должен возвращать сам io.EOF, а не ошибку, упаковывающую io.EOF.) // // Если n <= 0, ReadDir возвращает все значения DirEntry из каталога // в одном срезе. В этом случае, если ReadDir завершится успешно (прочитает полностью // в конец каталога), он возвращает срез и нулевую ошибку. // Если возникает ошибка до конца каталога, // ReadDir возвращает список DirEntry, прочитанный до этого момента, и ненулевую ошибку. ReadDir(n int) ([]DirEntry, ошибка) }
ReadDirFile — это файл каталога, записи которого можно прочитать с помощью метода ReadDir.
Каждый файл каталога должен реализовывать этот интерфейс. (Для любого файла допустимо реализовать этот интерфейс,
но если это так, ReadDir должен возвращать ошибку для не-каталогов.)
тип интерфейса ReadFileFS { ФС // ReadFile читает указанный файл и возвращает его содержимое. // Успешный вызов возвращает нулевую ошибку, а не io.EOF. // (Поскольку ReadFile читает файл целиком, ожидаемый конец файла // из последнего чтения не считается ошибкой, о которой нужно сообщать.) // // Вызывающему разрешено изменять возвращаемый фрагмент байта. // Этот метод должен возвращать копию базовых данных. ReadFile(строка имени) ([] байт, ошибка) }
ReadFileFS — это интерфейс, реализованный файловой системой который обеспечивает оптимизированную реализацию ReadFile.
тип интерфейса StatFS { ФС // Stat возвращает FileInfo, описывающий файл. // Если есть ошибка, она должна быть типа *PathError. Stat(строка имени) (FileInfo, ошибка) }
StatFS — это файловая система с методом Stat.
тип интерфейса SubFS { ФС // Sub возвращает FS, соответствующую поддереву с корнем в каталоге.Sub(dir string) (FS, ошибка) }
SubFS — это файловая система с методом Sub.
type WalkDirFunc func(path string, d DirEntry, err error) error
WalkDirFunc — это тип функции, вызываемой WalkDir для посещения каждый файл или каталог.
Аргумент path содержит аргумент WalkDir в качестве префикса. То есть, если WalkDir вызывается с корневым аргументом «dir» и находит файл с именем "a" в этом каталоге, функция ходьбы будет вызываться с аргумент "дир/а".
Аргумент d — это fs.DirEntry для именованного пути.
Результат ошибки, возвращаемый функцией, управляет тем, как WalkDir продолжается. Если функция возвращает специальное значение SkipDir, WalkDir пропускает текущий каталог (путь, если d.IsDir() имеет значение true, иначе родительский каталог пути). В противном случае, если функция возвращает ненулевое значение ошибка, WalkDir полностью останавливается и возвращает эту ошибку.
Аргумент err сообщает об ошибке, связанной с путем, сигнализируя о том, что
WalkDir не будет заходить в этот каталог. Функция может решить, как
обработать эту ошибку; как описано ранее, возврат ошибки будет
заставить WalkDir прекратить обход всего дерева.
WalkDir вызывает функцию с ненулевым аргументом ошибки в двух случаях.
Во-первых, если начальный файл fs.Stat в корневом каталоге не работает, WalkDir вызывает функцию с установленным путем для root, d установленным на nil и err установленным на ошибка от fs.Stat.
Во-вторых, если метод ReadDir каталога дает сбой, WalkDir вызывает метод функция с путем, установленным на путь к каталогу, d установленным на fs.DirEntry, описывающий каталог, и err, установленный на ошибку из ReadDir. Во втором случае функция вызывается дважды с путь к каталогу: первый вызов перед чтением каталога предпринята попытка, и значение err равно нулю, что дает функции возможность верните SkipDir и полностью избегайте ReadDir. Второй звонок после сбоя ReadDir и сообщает об ошибке из ReadDir. (Если ReadDir завершается успешно, второго вызова нет.)
Различия между WalkDirFunc и filepath. WalkFunc:
catchError
: Обнаружить ошибку и установить результат сборки как сбой Если тело выдает исключение, пометьте сборку как неудачную, но, тем не менее, продолжайте выполнение конвейера из оператора, следующего за шагом catchError
. Поведение шага при возникновении исключения можно настроить для печати сообщения, установки результата сборки, отличного от сбоя, изменения результата этапа или игнорирования определенных видов исключений, которые используются для прерывания сборки.
Этот шаг наиболее полезен при использовании в декларативном конвейере или с параметрами, позволяющими установить результат этапа или игнорировать прерывания сборки. В противном случае рассмотрите возможность использования простого
попробовать
- поймать
(- наконец
) блоков. Это также полезно при использовании определенных действий после сборки (уведомлений), изначально определенных для проектов свободного стиля, которые обращают внимание на результат текущей сборки.
узел { пойматьОшибка { sh 'может потерпеть неудачу' } step([$class: 'Mailer', получатели: 'admin@somewhere']) }
В случае сбоя этапа оболочки статус сборки Pipeline будет установлен как «сбой», так что последующий почтовый этап увидит, что эта сборка не удалась. В случае отправителя почты это означает, что он будет отправлять почту. (Он также может отправлять почту, если эта сборка удалось выполнить , но предыдущие потерпели неудачу и т. д.) Даже в этом случае этот шаг можно заменить следующей идиомой:
узел { пытаться { sh 'может потерпеть неудачу' } поймать (ошибиться) { echo "Поймано: ${ошибка}" currentBuild.result = 'ОШИБКА' } step([$class: 'Mailer', получатели: 'admin@somewhere']) }
В других случаях можно использовать простые блоки try
- catch
(- finally
):
node { ш './set-up.sh' пытаться { sh 'может потерпеть неудачу' эхо 'Успешно!' } поймать (ошибиться) { echo "Ошибка: ${ошибка}" } Ну наконец то { ш './tear-down.sh' } echo 'Печатается независимо от того, получилось ли выше или нет.' } // …и конвейер в целом работает успешно
Справочную информацию см. в этом документе.
buildResult : Строка
(необязательно) Если обнаружена ошибка, общий результат сборки будет установлен на это значение. Обратите внимание, что результат сборки может только ухудшиться, поэтому вы не можете изменить результат на SUCCESS
, если текущий результат UNSTABLE
или хуже. Используйте SUCCESS
или null
, чтобы предотвратить установку результата сборки при обнаружении ошибки.
catchInterruptions : логическое значение
(опционально) Если задано значение true, определенные типы исключений, которые используются для прерывания потока выполнения конвейеров, будут перехватываться и обрабатываться на этом шаге. Если false, такие типы исключений будут перехвачены и немедленно повторно сгенерированы. Примеры этих типов исключений включают те, которые возникают, когда сборка прерывается вручную через пользовательский интерфейс, и те, которые создаются на шаге timeout
. По умолчанию истинно.
сообщение: строка
(необязательно)Сообщение, которое будет выведено на консоль при обнаружении ошибки. Если указан результат этапа, сообщение также будет связано с этим результатом и может отображаться в визуализациях.
stageResult : строка
(необязательно) Если ошибка обнаружена, результат этапа будет установлен на это значение. Если было указано сообщение, оно будет связано с этим результатом. Используйте
SUCCESS
или null
, чтобы предотвратить установку результата этапа при обнаружении ошибки.
deleteDir
: Рекурсивно удалить текущий каталог из рабочей области Рекурсивно удаляет текущий каталог и его содержимое. Символические ссылки и соединения не будут отслеживаться, но будут удалены. Чтобы удалить определенный каталог рабочей области, оберните deleteDir
шаг в dir
шаг.
каталог
: Изменить текущий каталог Изменить текущий каталог. Любой шаг внутри блока dir
будет использовать этот каталог как текущий, а любой относительный путь будет использовать его как базовый путь.
эхо
: Распечатать сообщение ошибка
: Сигнал ошибки Сигнализирует об ошибке. Полезно, если вы хотите условно прервать какую-то часть вашей программы. Вы также можете просто
генерировать новое Exception()
, но этот шаг позволит избежать печати трассировки стека.
fileExists
: проверьте, существует ли файл в рабочей области Проверяет, существует ли данный файл на текущем узле. Возвращает правда | ложь
. Этот шаг должен выполняться в контексте узла
:
# Декларативный синтаксис stage('Проверить наличие index.html') { агент любой # Может быть директивой верхнего уровня или директивой уровня стадии шаги { сценарий { если (fileExists('src/main/rersources/index.html') { echo "Файл src/main/rersources/index.html найден!" } } } }
При декларативном синтаксисе он должен выполняться на этапе с определенным агентом (например, отличным от агента none):
# Синтаксис скрипта узел { если (fileExists('src/main/rersources/index.html') { echo "Файл src/main/rersources/index.html найден!" } }
isUnix
: Проверяет, работает ли он на Unix-подобном узле Возвращает true, если объемлющий узел
работает в Unix-подобной системе (такой как Linux или Mac OS X), false, если Windows.
почта
: ПочтаПростой шаг для отправки электронной почты.
Тема: Строка
Тема письма.
корпус: строка
Тело электронной почты.
скрытая копия: строка
(необязательно)Список адресов электронной почты BCC. Разделенный запятыми список адресов электронной почты.
куб.см: строка
(необязательно)Список адресов электронной почты CC. Разделенный запятыми список адресов электронной почты.
кодировка: строка
(необязательно) Кодировка символов в теле письма. По умолчанию
UTF-8
из : Строка
(необязательно)С адреса электронной почты. По умолчанию используется адрес администратора, глобально настроенный для экземпляра Jenkins.
mimeType : строка
(необязательно) MIME-тип тела сообщения электронной почты. По умолчанию текст/обычный
.
ответить на: строка
(необязательно)Адрес электронной почты Reploy-To. По умолчанию используется адрес администратора, глобально настроенный для экземпляра Jenkins.
до : Строка
(необязательно)В список адресов электронной почты. Разделенный запятыми список адресов электронной почты.
pwd
: Определить текущий каталогВозвращает путь к текущему каталогу в виде строки.
readFile
: Чтение файла из рабочей области Читает файл по относительному пути (с корнем в текущем каталоге, обычно в рабочей области) и возвращает его содержимое в виде простой строки.
повторная попытка
: повторить тело до N разПовторите блок (до N раз), если во время выполнения его тела возникнет какое-либо исключение. Если при последней попытке произойдет исключение, это приведет к прекращению сборки (если оно не будет каким-либо образом перехвачено и обработано). Пользовательские прерывания сборки перехватываются , а не .
сон
: сон Просто приостанавливает сборку конвейера до тех пор, пока не истечет заданное количество времени. Эквивалент (в Unix) sh 'sleep …'
. Может использоваться для приостановки одной ветви из параллельно
, в то время как другой продолжается.
тайник
: Спрятать некоторые файлы, которые будут использоваться позже в сборке Сохраняет набор файлов для последующего использования на любом узле/рабочей области в том же запуске конвейера. По умолчанию спрятанные файлы удаляются в конце запуска конвейера. Другие плагины могут изменить это поведение, чтобы дольше сохранять тайники. Например, декларативный конвейер включает параметр
saveStashes()
, позволяющий сохранять и использовать тайники из запуска, если этот запуск перезапускается.
Тайники из одного запуска конвейера недоступны в других запусках, других конвейерах или других заданиях. Если вы хотите сохранить артефакты для использования за пределами одного запуска, рассмотрите возможность использования вместо этого archiveArtifacts
. Обратите внимание , что шаги stash
и unstash
предназначены для использования с небольшими файлами. Для передачи больших объемов данных используйте подключаемый модуль External Workspace Manager или внешний менеджер репозитория, например Nexus или Artifactory. Это связано с тем, что спрятанные файлы архивируются в сжатом TAR, а для больших файлов требуются значительные ресурсы на главном сервере, особенно время процессора. Там нет жесткого ограничения размера тайника, но от 5 до 100 МБ вам, вероятно, следует рассмотреть альтернативы.
имя : Строка
Название тайника. Должен быть простым идентификатором, похожим на название должности.
allowEmpty : логическое значение
(необязательно) Создать тайник, даже если файлы не включены. Если false
(по умолчанию), возникает ошибка, когда в тайнике нет файлов.
исключает: Строка
(необязательно) Дополнительный набор шаблонов исключения в стиле Ant.
Используйте список, разделенный запятыми, чтобы добавить более одного выражения.
Если пусто, никакие файлы не будут исключены.
включает: Строка
(необязательно) Дополнительный набор стилей Ant включает шаблоны.
Используйте список, разделенный запятыми, чтобы добавить более одного выражения.
Если пусто, обрабатывается как **
: все файлы.
Текущий рабочий каталог является базовым каталогом для сохраненных файлов, которые позже будут восстановлены в тех же относительных местоположениях, поэтому, если вы хотите использовать подкаталог, заверните его в каталог
.
useDefaultExcludes : логическое значение
(необязательно)Если выбрано, используйте исключения из Ant по умолчанию — список см. здесь. По умолчанию истинно.
шаг
: Общий этап сборкиЭто специальный шаг, который позволяет вызывать строителей или действия после сборки (как во фристайле или подобных проектах), в общем "шаги сборки". Просто выберите шаг сборки для вызова из раскрывающегося списка и настройте его по мере необходимости.
Обратите внимание, что в списке будут показаны только шаги, совместимые с Pipeline.
Чтобы использовать этот шаг, вам нужно указать класс делегата, например, step([$class: 'A3Builder'])
.
тайм-аут
: принудительное ограничение времени Выполняет код внутри блока с установленным лимитом времени ожидания. Если лимит времени достигнут, генерируется исключение (org. jenkinsci.plugins.workflow.steps.FlowInterruptedException), что приводит к прерыванию сборки (если оно каким-то образом не перехвачено и не обработано).
инструмент
: использовать инструмент из предопределенной установки инструмента Привязывает установку инструмента к переменной (возвращается домашний каталог инструмента). Здесь доступны только инструменты, уже настроенные в Configure System
. Если исходный установщик инструмента имеет функцию автоматической подготовки, то инструмент будет установлен по мере необходимости.
нестабильный
: Установить нестабильный результат этапа Печатает сообщение в журнал и устанавливает для общего результата сборки и результата этапа значение UNSTABLE
. Сообщение также будет связано с результатом этапа и может отображаться в визуализациях.
unstash
: Восстановить ранее спрятанные файлы Восстанавливает набор файлов, ранее stash
ed, в текущую рабочую область.
waitUntil
: Ожидание условия Повторно запускает свое тело, пока не вернет true
. Если он возвращает false
, ждет некоторое время и пытается снова. (Последующие сбои уменьшат задержку между попытками максимум до 15 секунд.) Количество повторных попыток не ограничено, но если тело выдает ошибку, которая выбрасывается сразу.
initialRecurrencePeriod : длинный
(необязательно) Устанавливает начальный период ожидания в миллисекундах между повторными попытками. По умолчанию 250 мс.
Каждый сбой будет уменьшать задержку между попытками максимум до 15 секунд.
тихий: логическое значение
(необязательно)Если true, шаг не регистрирует сообщение каждый раз, когда проверяется условие. По умолчанию ложно.
warnError
: Обнаружить ошибку и установить нестабильный результат сборки и стадии Выполняет свое тело и, если возникает исключение, устанавливает общий результат сборки и результат этапа в UNSTABLE
, печатает указанное сообщение и выброшенное исключение в журнал сборки и связывает результат этапа с сообщением, чтобы он мог отображать с помощью визуализаций.
Эквивалент catchError(сообщение: сообщение, buildResult: 'UNSTABLE', stageResult: 'UNSTABLE')
.
withEnv
: Установить переменные средыЗадает одну или несколько переменных среды внутри блока. Имена переменных среды нечувствительны к регистру, но сохраняют регистр, то есть установка `Foo` изменит значение `FOO`, если оно уже существует. Переменные среды доступны для любых внешних процессов, созданных в этой области. Например:
узел { withEnv(['MYTOOL_HOME=/usr/local/mytool']) { sh '$MYTOOL_HOME/bin/start' } }
(Обратите внимание, что здесь мы используем одинарные кавычки в Groovy, поэтому расширение переменной выполняется оболочкой Bourne, а не Jenkins.)
Дополнительную информацию о переменных среды см. в документации по синглтону env
.
обертка
: Упаковщик общей сборки Это специальный шаг, который позволяет вызывать оболочки сборки (также называемые «Конфигурация среды» в фристайловых или подобных проектах). Просто выберите оболочку для использования из раскрывающегося списка и настройте ее по мере необходимости. Все, что находится внутри блока-оболочки, находится под его влиянием.
Обратите внимание, что в списке будут показаны только оболочки, совместимые с Pipeline.
Чтобы использовать этот шаг, вам нужно указать класс делегата, например, wrap([$class: 'AnsiColorBuildWrapper'])
.
writeFile
: Запись файла в рабочую областьЗапись данного содержимого в именованный файл в текущем каталоге.
файл: строка
Относительный путь к файлу в рабочей области.
текст: строка
Данные для записи в файл.
кодировка: строка
(опционально) Целевая кодировка файла. Если оставить пустым, будет использоваться кодировка платформы по умолчанию. Если текст представляет собой строку в кодировке Base64, декодированные двоичные данные можно записать в файл, указав «Base64» в качестве кодировки.
архив
: Артефакты архива Архивы создают выходные артефакты для последующего использования. Начиная с Jenkins 2.x, этот шаг устарел в пользу более настраиваемого archiveArtifacts
.
getContext
: Получить контекстный объект из внутренних API Получить контекстный объект как в StepContext.get
; ср. с контекстом
. Принимает один аргумент типа
. Пример:
getContext hudson.FilePath
Для использования из надежного кода, такого как глобальные библиотеки, которые могут управлять внутренними API Jenkins.
тип
java.lang.Class>
разархивировать
: скопировать заархивированные артефакты в рабочую область сопоставление
(необязательно) java.
Об авторе