Перейти к содержимому

Как установить скрипт с github

  • автор:

Скачивание архивов исходного кода

Вы можете скачать моментальный снимок кода в репозитории.

Overview of source code archives

You can download a snapshot of any branch, tag, or specific commit from GitHub.com. These snapshots are generated by the git archive command in one of two formats: tarball or zipball. Snapshots don’t contain the entire repository history. If you want the entire history, you can clone the repository. For more information, see «Cloning a repository.»

Downloading source code archives

You can download the source code archives in three ways.

Downloading source code archives from the repository view

  1. On GitHub.com, navigate to the main page of the repository.
  2. Above the list of files, click

Screenshot of the list of files on the landing page of a repository. The

Code.

Downloading source code archives from a release

Screenshot of the main page of a repository. A link, labeled

  1. On GitHub.com, navigate to the main page of the repository.
  2. To the right of the list of files, click Releases.

Source code (zip) or

Downloading source code archives from a tag

Screenshot of the main page of a repository. A link, labeled

  1. On GitHub.com, navigate to the main page of the repository.
  2. To the right of the list of files, click Releases.

zip or

Screenshot of the

tar.gz.

Source code archive URLs

Source code archives are available at specific URLs for each repository. For example, consider the repository github/codeql . There are different URLs for downloading a branch, a tag, or a specific commit ID.

Type of archive Example URL
Branch main https://github.com/github/codeql/archive/refs/heads/main.tar.gz
Tag codeql-cli/v2.12.0 https://github.com/github/codeql/archive/refs/tags/codeql-cli/v2.12.0.zip
Commit aef66c4 https://github.com/github/codeql/archive/aef66c462abe817e33aad91d97aa782a1e2ad2c7.zip

Note: You can use either .zip or .tar.gz in the URLs above to request a zipball or tarball respectively.

Stability of source code archives

Source code archives are generated on request, cached for a while, and then deleted. If the same archive is requested again in the future, it’ll be regenerated. It’s important to understand what guarantees GitHub makes about source code archives.

  • An archive of a commit ID will always have the same file contents whenever it’s requested, assuming the commit ID is still in the repository and the repository’s name has not changed.
  • Because branches and tags can move to different commit IDs, future downloads of an archive may have different contents than previously downloaded archives of the same branch or tag. Assuming the branch or tag still points at the same commit ID, it will have the same file contents.
  • The exact compression settings used to generate a zipball or tarball may change over time. The extracted contents won’t change if the branch or tag doesn’t change, but the outer compressed archive may have a different byte layout. GitHub will give at least six months’ notice before changing compression settings.
  • The name of the repository is part of the directory structure inside the archive. Therefore, if the repository name changes, the root directory name will change as well.

If you rely on stability of source code archives for reproducibility (ensuring you always get identical files inside the archive), we recommend using the archives REST API with a commit ID for :ref . Using the commit ID ensures you’ll always get the same file contents inside the archive and you’ll be immune to repositories rewriting tags or moving branch heads.

If you rely on stability of archives for security (for example: to ensure you don’t attempt to unzip a maliciously-crafted file), we recommend using releases instead of using source downloads. For more information, see «About releases.»

You can use something like this third-party GitHub action to create and push these files as part of your release process. The Release Assets REST API can later be used to retrieve them.

http://spbcomputers.ru

Главная ОС Linux Как скачать и запустить скрипт sh с github gist

Как скачать и запустить скрипт sh с github gist

Зачастую, требуется выполнить кучу команд подряд в терминале. Делать это постоянно — угнетает. Поэтому удобнее вынести набор таких команд терминала в скрипт sh. Для выкладывания sh скриптов я решил использовать сервис https://gist.github.com.

Чтобы не повторяться в будущем. Сейчас расскажу как их скачивать и запускать в системе Ubuntu.

Рассмотрим скрипт установки программы Telegram, он доступен по адресу:

Подобная ссылка и в статьях приводится.

1 способ. Простой, без установки Git.

Переходим по ссылке и жмём «Download ZIP»:

Скачается архив ZIP. Открываем его и распаковываем sh скрипт:

Переходим в каталог куда распаковали скрипт sh. Кликаем правой кнопкой мыши по файлу, открываем «Свойства». В «Свойствах» на вкладке «Права» выставляем флажок «Разрешить выполнение файла как программы»:

Теперь двойным кликом мыши по файлу запускаем sh скрипт:

Для этих скриптов предпочтительнее выбирать вариант запуска: «Запустить в терминале», чтобы видеть вывод служебных сообщений в терминале.

2-ой способ. С помощью Git.

Устанавливаем систему управления версиями git, если она у вас не установлена:

Создаем каталог в домашней директории с удобным для вас названием и переходим в него:

Переходим по ссылке из статьи на github gist, выбираем «Clone via HTTPS» и копируем ссылку:

Затем в терминале выполняем по шаблону:

где имя_каталога — это информативное имя каталога, где будет лежать скрипт. Удобно, когда имя соответствует названию программы или тому действию, что хотим получить от выполнения скрипта. Естественно, что надо стараться использовать имя без пробела. Если хотите пробелы в названии директории, то их надо экранировать обратным слешем.

В нашем примере команда получится такой:

В результате имеем скрипт в каталоге:

В чем удобство этого способа, что после изменения мною данного скрипта на github gist, вам не нужно снова качать архив (как в первом способе), а просто сделать git pull перейдя в каталог скрипта:

В результате имеем последнюю версию скрипта. Теперь можно выставить права на исполнение и запустить его. Либо в графическом режиме, либо в терминале.

voff4eg / bitrix_git.sh

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

if test -z $1
then
echo » $0 : You must set a project name «
exit 1
else
if test -d /srv/sites/ $1 /www/
then
if test -d /srv/sites/ $1 /www/bitrix/modules/main/
then
echo ‘ packing site. ‘
/bin/bash /srv/git/bin/bitrix_tar.sh $1
fi
cd /srv/git/
mkdir $1
cd $1
git —bare init
cp ../def_rep/config ./
cd /srv/sites/ $1 /www/
cp /srv/git/def_rep/gitignore_bitrix ./.gitignore
git init
echo » [remote \» origin \» ] » >> .git/config
echo » url = ssh://git@localhost/srv/git/ $1 » >> .git/config
echo ‘ fetch = +refs/heads/*:refs/remotes/origin/* ‘ >> .git/config
echo » [branch \» master \» ] » >> .git/config
echo » remote = origin » >> .git/config
echo » merge = refs/heads/master » >> .git/config
git add .
git commit -m ‘ Init commit ‘
git push /srv/git/ $1 master:master
echo ‘ unpacking site. ‘
/bin/bash /srv/git/bin/bitrix_untar.sh $1
else
echo » There is no such a project «
exit 1
fi
fi

Выполнение скриптов до или после задания

Скрипты можно автоматически выполнять на локально размещенном средстве выполнении тестов сразу до или после задания.

Сведения о выполнении скриптов до и после задания

Вы можете автоматически выполнять скрипты в локальном средстве выполнения либо перед запуском задания, либо после его завершения. С помощью этих скриптов можно выполнять требования задания, например создавать или удалять среду средства выполнения либо очищать каталоги. С их помощью можно также отслеживать использование средств выполнения посредством данных телеметрии.

Пользовательские скрипты активируются автоматически при задании определенной переменной среды в средстве выполнения. Переменная среды должна содержать абсолютный путь к скрипту. Дополнительные сведения см. в разделе Активация скриптов ниже.

Поддерживаются следующие языки написания скриптов:

  • Bash: использует bash и может переключаться на sh . Запускается путем выполнения команды -e .
  • PowerShell: использует pwsh и может переключаться на powershell . Запускается путем выполнения команды -command \». »\» .

Написание скриптов

В пользовательских скриптах можно использовать перечисленные ниже возможности.

  • Переменные. Скрипты имеют доступ к переменным по умолчанию. Полные полезные данные события веб-перехватчика можно найти в GITHUB_EVENT_PATH . Дополнительные сведения см. в разделе «AUTOTITLE».
  • Команды рабочего процесса: скрипты могут использовать команды рабочего процесса. Дополнительные сведения см. в разделе «Команды рабочего процесса для GitHub Actions». Скрипты также могут использовать файлы среды. Дополнительные сведения см. в разделе Файлы среды.

Файлы скриптов должны использовать расширение файла для соответствующего языка, например .sh или .ps1 для успешного выполнения.

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

Обработка кодов выхода

Для скриптов, выполняемых перед заданием, код выхода 0 указывает, что скрипт успешно завершен и далее будет запущено задание. При любом другом коде выхода задание не будет запущено и будет помечено как завершившееся сбоем. Чтобы просмотреть результаты скриптов, выполняемых перед заданием, проверьте наличие записей Set up runner в журналах. Дополнительные сведения о проверка журналах см. в разделе «Использование журналов выполнения рабочих процессов».

Использование параметра continue-on-error этими скриптами не поддерживается.

Активация скриптов

Пользовательские скрипты должны находиться в средстве выполнения, но не должны храниться в каталоге приложения actions-runner . Скрипты выполняются в контексте безопасности учетной записи службы, в котором запущена служба средства выполнения.

Примечание. Активированные скрипты обрабатываются синхронно, поэтому на это время выполнение задания блокируется.

Скрипты выполняются автоматически, если в средстве выполнения имеются следующие переменные среды, содержащие абсолютный путь к скрипту:

  • ACTIONS_RUNNER_HOOK_JOB_STARTED . Скрипт, определенный в этой переменной среды, активируется при назначении задания средству выполнения, но перед запуском задания.
  • ACTIONS_RUNNER_HOOK_JOB_COMPLETED : скрипт, определенный в этой переменной среды, активируется в конце задания после выполнения всех шагов, определенных в рабочем процессе.

Чтобы задать эти переменные среды, можно добавить их в операционную систему или добавить их в файл с именем .env в каталоге приложений локального запуска (то есть каталог, в который вы скачали и распаковали программное обеспечение runner). Например, следующая .env запись будет автоматически запускать скрипт, сохраненный на /opt/runner/cleanup_script.sh компьютере runner перед выполнением каждого задания:

ACTIONS_RUNNER_HOOK_JOB_STARTED=/opt/runner/cleanup_script.sh 

Примечание. Скрипт, определенный в ACTIONS_RUNNER_HOOK_JOB_COMPLETED конце задания, выполняется до завершения задания. Это делает его непригодным для вариантов использования, которые могут прерывать выполнение, например удаление компьютера runner в рамках реализации автомасштабирования.

Устранение неполадок

Отказ в разрешении

Если при попытке запустить скрипт возникает ошибка «отказано в разрешении», убедитесь, что скрипт является исполняемым. Например, в терминале linux или macOS можно использовать следующую команду для создания исполняемого файла.

chmod +x PATH/TO/FILE 

Сведения об использовании рабочих процессов для выполнения скриптов см. в разделе «Ключевые функции действий GitHub».

Отсутствие параметра времени ожидания

В настоящее время для скриптов, выполняемых посредством ACTIONS_RUNNER_HOOK_JOB_STARTED или ACTIONS_RUNNER_HOOK_JOB_COMPLETED , отсутствует параметр времени ожидания. Поэтому в скрипт может потребоваться добавить логику для обработки времени ожидания.

Просмотр журнала выполнения рабочего процесса

Чтобы проверить, выполняются ли скрипты, можно просмотреть журналы задания. Скрипты будут указаны в отдельных шагах для Set up runner или Complete runner в зависимости от того, какая переменная среды активирует скрипт. Дополнительные сведения о проверка журналах см. в разделе «Использование журналов выполнения рабочих процессов».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *