Генерируем на целевом сервере SSH ключ
Чтобы Jenkins на нашем сервере смог получить доступ к коду из репозитория — необходимо сгенерировать приватный и публичный ключ и раздать их в соответствии с назначением.
Для генерации ключей, в терминате (консоли) сервера вводим команду
$ ssh-keygen
При этом видим предложение сгенерировать ключ по стандартному для этого случая пути
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/user01/.ssh/id_rsa):
Рекомендуется выбирать дефолтный путь — жмем Enter, но вы можете и поменять путь.
Далее система попросит ввести passphrase. Для простоты можем оставить это поле пустым, как и следующее (подтверждающее ввод)
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Успешная генерация ключа сопровождается следующим выводом в консоли
Your identification has been saved in /Users/emmap1/.ssh/id_rsa.
Your public key has been saved in /Users/emmap1/.ssh/id_rsa.pub.
The key fingerprint is:
4c:80:61:2c:00:3f:9d:dc:08:41:2e:c0:cf:b9:17:69 emmap1@myhost.local
The key’s randomart image is:
+—[ RSA 2048]—-+
|*o+ooo. |
|.+.=o+ . |
|. *.* o . |
| . = E o |
| o . S |
| . . |
| . |
| |
| |
+——————+
Выведем сгенерированные файлы списком на экран
$ ls ~/.ssh id_rsa id_rsa.pub
Выводится 2 файла:
id_rsa — приватный ключ, который понадобится нам для генерациия пользователя аутентификации в репозитории на cтороне Jenkins
id_rsa.pub — публичный ключ, который необходимо разместить в разделе access keys целевого репозитория
Добавляем публичный ключ в разделе ключей приватного репозитория
Например, в Bitbucket, публичный ключ можно добавить в разделе
Repository settings — Access keys — Add key (настройки конкретного репозитория)
Добавляем приватный ключ в Jenkins
Заходим в раздел Управления Ключами (Jenkins — Manage Jenkins — Manage Credentials)
И добавляем приватный ключ (содержимое файла id_rsa.pub) в поле Private key, как проиллюстрировано ниже
Заполняем поле Username — имя для пользователя. Сохраняем.
Осталось подключится к репозиторию.
Перейдем в настройки ранее созданного проекта в Jenkins.
Source Code Management — выбираем Git (1)
Repositories — вставляем ссылку на репозиторий (2) и из выпадающего списка выбираем нашего только что созданного пользователя с приватным ключом (3)
Branches to build — обычно указывают мастер ветку — */master (4)
Сохраняем проект в Jenkins.
Теперь мы готовы собрать проект из приватного репозитория.
I think the admin of this site is in fact working
hard for his site, for the reason that
here every material is quality based stuff.
I do trust
all of the ideas you have offered to your post. They’re very convincing and will definitely work.
Still, the posts are too quick
for novices. May
just you please extend them a little from next time?
Thanks for the post.
Thanks very interesting blog!
Thanks designed for sharing such a fastidious idea,
piece of writing is fastidious, thats why i have read it fully
Hi there, I wish for to subscribe for this web site to get newest updates, so where can i do it please assist.
Its like you read my mind! You appear to know so much
about this, like you wrote the book in it or
something. I think that you can do with some pics
to drive the message home a little bit, but instead
of that, this is fantastic blog. An excellent read.
I’ll definitely be back.
What’s up it’s me, I am also visiting this web site on a regular basis,
this web page is genuinely nice and the visitors are in fact sharing fastidious thoughts.
This paragraph presents clear idea in support of the new viewers
of blogging, that genuinely how to do blogging.
Awesome blog! Is your theme custom made or did you download
it from somewhere? A theme like yours with a few simple tweeks would really make my
blog shine. Please let me know where you got your design. Thank you
Hey very nice blog!! Man .. Excellent .. Amazing .. I’ll bookmark your web site and take the feeds also…I am happy to find a lot of useful info here in the post, we need develop more strategies in this regard, thanks for sharing. . . . . .
It’s going to be ending of mine day, except before ending I am reading this great article to increase my knowledge.
You actually make it seem so easy with your presentation but I find this
topic to be actually something which I think I would never understand.
It seems too complex and extremely broad for me. I am looking forward
for your next post, I’ll try to get the hang of it!