Показаны сообщения с ярлыком github. Показать все сообщения
Показаны сообщения с ярлыком github. Показать все сообщения

воскресенье, 17 июля 2022 г.

gitlab cicd vs github actions

 Изначально gitlab-ci делался максимально простым, поэтому он лёгок в изучении, но почти всё - делается чем-то внешним. В частности, очень многие его интегрируют с ansible и аналогами.

github actions чуть интереснее, пример знакомства

GitHub Actions Tutorial - Basic Concepts and CI/CD Pipeline with Docker

Нужно учитывать что actions это не только ci/cd.

А ещё мне оно очень напоминает jenkins pipelines.

четверг, 24 января 2019 г.

github deploy keys

Работали долгое время с битбакетом, но на другом проекте используют github.
https://developer.github.com/v3/guides/managing-deploy-keys/#deploy-keys
Делаем по инструкции, добавляем ключ для деплоя на одну репу, работает. Добавляем на другую - получаем ошибку
Error: Key already in use
Эти идиоты не осилили 1 деплой ключ на несколько реп! При том что битбакет так умеет, а гитлаб вообще штатно предлагает список уже подключенных ключей, для ещё бОльшего удобства. И это при том что если завести "фейкового" юзера, которому навесить тот же ключ и через запрос invitation выдать доступы то всё работает. Так что это именно рукожопость и ничего более.
Разные варианты гуглятся по "github Error: Key already in use"

5 решений:
1) заводим отдельную почту, письма с которой можно перенаправить админам, регистрируем её в гитхабе, на нужные репы отправляем приглашения, в свойствах добавляем нужный нам ключ. Потом принимаем приглашения, работаем.
2) через ssh-keygen (можно в интерактивном режиме) создаём столько ключей, сколько у нас реп, заводим где-то табличку с публичными ключами и от чего они. Теперь можно заполнить ~/.ssh/config, вписав несколько Host секций с разными IdentityFile, и делать git clone по этим именам,
3) или выставляя переменную - в 2.10+ есть GIT_SSH_COMMAND куда передаем строку вида 'ssh -i ~/.ssh/key1', в более ранних нужно возиться через врапперы и выставлять переменную так: GIT_SSH='~/git_wrapper.sh', в котором будет
ssh -i '~/.ssh/key1' $1 $2
4) ssh_agent
5) сменить площадку на битбакет или гитлаб, где нет этого маразма.

Более развернуто например тут
https://superuser.com/questions/232373/how-to-tell-git-which-private-key-to-use

пятница, 9 ноября 2018 г.

git clone: github+2FA

Суть в том, что при использовании https после ввода пароля (правильного) будет ошибка
remote: Invalid username or password.
Причина:
"After you've enabled 2FA, you must create a personal access token to use as a password when authenticating to GitHub on the command line using HTTPS URLs."

Ну или более простой вариант - добавить ssh ключ
и потом делать git clone git@github.com:/user/repo