-
Notifications
You must be signed in to change notification settings - Fork 0
Jenkins
https://www.youtube.com/watch?v=pMO26j2OUME&list=PLy7NrYWoggjw_LIiDK1LXdNN82uYuuuiC
jenkins-docker-app
- Jenkins Container Setup
- Create Multibranch Pipeline with Git Repo
- Types of Credentials
- Jenkinsfile
Code -> Commit-> Git Repo-> Trigger build -> Jenkinsfile:test, build, deploy
Run Jenkins in Docker Container
1.1. Find a Jenkins image in dockerhub
The image 'jenkins/jenkins' should be used.
- Expose port 8080 -- By default runs on that port
- Expose port 50000 -- Master/Slaver Communication
- Run in detached mode -- run container in the background
- Bind named volume -- persist data of Jenkins, bind host directory and container directory
- image version -- latest (jenkins/jenkins:lts)
.
docker run -p 8080:8080 -p 50000:50000 -d -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
docker ps
docker logs your_ContainerID
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
3adc1a26a8fd4128a816ca8ba01da498
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
IlLya 1234 Illya K ilhaifa@yandex.ru Jenkins URL http://localhost:8080/ Save and Finish
- Freestyle: simple, single tasks e.g. run tests
- Pipeline: whole delivery cycle e.g. test|build|... for a single branch
- Multibranch Pipeline : like pipeline for multiple branches
Updates Available plugins Installed plugins Advanced settings Download progress
Name: "my-pipeline"
Branch Source = Project you want to build
Add Source -> Git
Project Repository - Specify the URL of this remote repository. This uses the same syntax as your git clone command HTTPS.
https://github.com/ILLYAKO/jenkins-docker-app.git
Credentials - > choose created credentials for git repo.
Behaviours -> Add -> Filter by name (with regular expression) -> .* (default means all branches)
Build Configuration
Mode -> by Jenkins(default)
Script Path -> Jenkinsfile(default)
Save
"Credentials" Plugin to store and manage them centrally
Dashboards -> Manage Jenkins -> Manage Credentials -> Credentials -> Jenkins System(Store) -> global(Domains) -> Add Credentials
Kinds:
-Username with password
-GitHub App
-SSH Username with private key
-Secret file
-Secret text
-Certificate
Credential Scopes:
-System: Only available on Jenkins server NOT for Jenkins jobs
-Global: Everywhere accessible
-Project: Limited to project, ONLY with multibranch pipeline (on project page)
ID = Reference for your credentials
Kind: User with password
Scope: Global (Jenkins, nodes, items, all child items, etc)
Username: global
Password: 1234
ID: global
Kind: User with password
Scope: System (Jenkins and nodes only)
Username: system
Password: 1234
ID: system
kind: username with password
Username: ilhaifa@yandex.ru
password: *******
ID: demo-app-git-credentials