[A Cloud Guru, Linux Academy] Внедрение полного конвейера CI/CD [RUS, 2020]
04. Непрерывная интеграция
15. Установка Jenkins
Устанавливаю Jenkins в ubuntu
Manange Jenkins -> Global Tool Configuration -> JDK -> 1.8
16. Настройка проектов Jenkins
Jenkins
New Item
Name: train-schedule
Type: Freestyle project
OK
Source Code Management
Git -> https://github.com/linuxacademy/cicd-pipeline-train-schedule-jenkins
Build -> Add build step -> Invoke Gradle script
Use Gradle Wrapper
Tasks -> build
Post-build Actions -> Archive the artifacts
Files to archive -> dist/trainSchedule.zip
Build Now
17. Запуск сборок с хуками в Git (Не заработало, т.к. Нужен публичный сервер jenkins)
GitHub
GitHub -> Settings -> Developer settings -> Personal access tokens -> Generate new token
Token description: jenkins
admin:repo_hook
Generate token
Copy Api Key
Jenkins
Manage Jenkins -> Configure System
Github -> GitHub Server
Name: GitHub
Credentials -> Add -> Jenkins
Kind: Secret Text
Secret: <API_KEY>
ID: github_api_key
Description: GitHub API Key
Add
Credentials -> GitHubKey
- Manage hooks
Save
Выбираем созданные ранее проект train-schedule
Configure
Source Code Management
Git (Форкнутый репо) -> https://github.com/wildmakaka/cicd-pipeline-train-schedule-jenkins
Build Trigger
- GitHub hook trigger for GITScm polling
SAVE
GitHub
Должен появиться Webhook.
App -> Settings -> Webhooks
Но он появится, только если использовать public ip.
С localhost будет вот такое:
{"resource":"Hook","code":"custom","message":"Sorry, the URL host localhost is not supported because it isn't reachable over the public Internet"}
Делаем коммит, изменив файл Readme.md
Jenkins должен автоматически пересобрать проект.