Difference between revisions of "Интеграция с github/gitlab"

From EjudgeWiki
(...)
(...)
Line 17: Line 17:
  
 
[[Настройка интеграции с gitlab для пользователя]]
 
[[Настройка интеграции с gitlab для пользователя]]
 
Чтобы ejudge мог склонировать исходный код из репозитория,
 
потребуется ключ ssh. Можно использовать существующий,
 
который используется для других целей, но предпочтительнее
 
сгенерировать новую пару из приветного и публичного ключа специально для
 
использования ejudge. Такой ключ называется deploy key.
 
 
==== Генерация ключа ====
 
 
Сгенерировать пару ключей можно с помощью команды <code>ssh-keygen -t ed25519 -f ej_deploy</code>. Passphrase нужно оставить пустым.
 
При исполнении команды на стандартный поток вывода
 
будет примерно следующий вывод:
 
 
$ ssh-keygen -t ed25519 -f ej_deploy
 
Generating public/private ed25519 key pair.
 
Enter passphrase (empty for no passphrase):
 
Enter same passphrase again:
 
Your identification has been saved in ej_deploy
 
Your public key has been saved in ej_deploy.pub
 
The key fingerprint is:
 
SHA256:MZcQPKClDzn4AcM+S2tBiIJLgWKMciwxK1tj38nMs9k cher@fedora
 
The key's randomart image is:
 
+--[ED25519 256]--+
 
|O*+  ooo.      |
 
|@*=+ =  o. .    |
 
|O*= B  o.o      |
 
|o+=+ X . +      |
 
|.. =o O S        |
 
|  +    =        |
 
| .    o E        |
 
|                |
 
|                |
 
+----[SHA256]-----+
 
 
В итоге в текущем каталоге появятся файл <code>ej_deploy.pub</code> &mdash; это ппубличный ключ, и файл <code>ej_deploy</code> &mdash; это приватный ключ.
 
Публичный ключ нужно добавить в список deploy keys в системе github или gitlab.
 
 
==== Добавление deploy key в github ====
 
 
Для интеграции с github нужно сгенерированный публичный ключ
 
добавить в список deploy keys проекта на github.
 
 
Для добавления ключа на странице проекта перейдите
 
в раздел "Settings".
 
 
[https://ejudge.ru/download/img/github-settings.png]
 
 
В разделе "Settings" выберите раздел "Deploy keys".
 
 
[https://ejudge.ru/download/img/github-settings-dk.png]
 
 
В разделе "Deploy keys" нажмите на "Add deploy keys".
 
 
[https://ejudge.ru/download/img/github-settings-dk-add.png]
 
 
В поле "Key" скопируйте <b>публичный</b> ключ,
 
то есть содержимое файла <code>ej_deploy.pub</code>.
 
 
Нажмите кнопку "Add Key".
 

Revision as of 20:19, 23 December 2022

Навигация: Главная страница/Система ejudge/Использование/Интеграция с github/gitlab

Поддерживается с версии 3.10.0.

Система ejudge поддерживает хранение исходного кода решений участников в системах контроля версий github или gitlab. При определенных событиях в репозитории (например, при событии push) система контроля версий обращается по заранее настроенному URL (webhook), уведомляя ejudge, что можно тестировать очередную версию исходного кода. Затем ejudge выполняет загрузку исходного кода из репозитория с помощью git clone, компиляцию и тестирование этого кода.

Интеграция со стороны участника

Настройка интеграции с github для пользователя

Настройка интеграции с gitlab для пользователя