#open jdk
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
#查看版本
java -version
#方式一:官方倉庫(太慢太慢太慢)
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
#安裝Jeckins
yum install jenkins -y
#方式二:先下載再安裝,也慢,不到100k/s 慢慢等算了
wget https://pkg.jenkins.io/redhat-stable/jenkins-2.176.3-1.1.noarch.rpm
rpm -ivh jenkins-2.156-1.1.noarch.rpm
#一句搞定 -u 0 :run as a root user (uid=0)(不然docker run 的時候 沒有寫入權限)
docker run -u 0 -p 8080:8080 -p 50000:50000 -d -v /home/jenkins-home-docker:/var/jenkins_home jenkins/jenkins
#瀏覽 http://ip:8080
#查看token (提示找不到,感受run的時候 -v 映射卷,沒有映射上)
cat /var/jenkins_home/secrets/initialAdminPassword
#進入容器內部
docker exec -it fcdba184a17f /bin/bash
#再查看容器內部的token,就有了
cat /var/jenkins_home/secrets/initialAdminPassword
#在jenkins的容器內部,參考第三條,配置鏡像加速,否則構建容器的時候會很慢;
#退出容器,回到宿主機
ctrl+p & ctrl+q
#Jenkins時區設置爲北京時間 :打開 【系統管理】->【腳本命令行】運行下面的命令
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')
#配置發件人郵箱和SMTP
#安裝插件
Git:從Git拉去代碼
Chinese: 中文
Docker : 提供docker 構建和發佈
SSH : 提供經過SSH在遠程主機執行命令,用於部署服務
maven : 支持maven
目的:html
#系統管理-系統設置-雲 :新增 Name:Docker Docker Host URI:tcp://10.6.66.229:2375
#系統管理-系統設置-SSH remote hosts
SSH sites:新增
Hostname:10.6.66.229
Port:22
Credentials: (須要添加一個docker宿主機的用戶,做爲憑證)
serverAliveInterval:0
timeout:0
建立公鑰和私鑰,以便從git拉去代碼java
[root@Jenkins ~]# ssh-keygen
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:5SGYye8oxCKFJjddb4W8JC0RAQhBWCvuG8aZL8eMJs4 root@Jenkins The key's randomart image is: +---[RSA 2048]----+ |==....=* .. | |...o oo==. | |+.= . =++.o | |++ o o.+ . | |... o S . | |o.oo o | | B+ . . . | |++++ . | |+Eo. | +----[SHA256]-----+ [root@Jenkins ~]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6N5UGSP0jKobEsVeDn//OgSnkSHA78QZaLkglSX5jbb0clgr5KkcyuxYhiDBugZ9EFP3ttdYlAmDWPkEQhbyWtkHsJJY6voFakM91zNhKffjBBN0oL8JPa6dQvP1m9DF48rKNb6aTjO09OOriLUGQbSVCifVj04bFlwCmwPlCE/rH69QbP7qN2y9Ls+jA6YM9wRj4p57F2ZXdRWBb4MCjgMRi7AM73bWERo1xuUcXu1EPnVhGtQoFI11TpQwH/ly2OoVmZMcTh5N/UzUhRiDsu993blldtwBCpu0i5a9J5LPoV6RWPcmd7ZbAJQhS+nXTKJlX4+C9A4JZXZGDADfd root@centos-t001 [root@Jenkins ~]# cat /root/.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAujeVBkj9IyqGxLFXg5//zoEp5EhwO/EGWi5IJUl+Y229HJYK
+SpHMrsWIYgwboGfRBT97bXWJQJg1j5BEIW8lrZB7CSWOr6BWpDPdczYSn34wQTd
KC/CT2unULz9ZvQxePKyjW+mk4ztPTjq4i1BkG0lQon1Y9OGxZcApsD5QhP6x+vU
Gz+6jdsvS7PowOmDPcEY+KeexdmV3UVgW+DAo4DEYuwDO921hEaNcblHF7tRD51Y
RrUKBSNdU6UMB/5ctjqFZmTHE4eTf1M1IUYg7Lvfd25ZXbcAQqbtIuWvSeSz6Fek
Vj3Jne2WwCUIUvp10yiZV+PgvQOCWV2RgwA33QIDAQABAoIBAAj8CYqmFuCNerce
v1Qwcg0qmjTTcebSeDX9qaly5FAzyT4J1zmyWoEOGcFAauXKBz8nrCC99zkN5lIv
6r+7VCAJZyDXmw/2hRMzjW7nlT/y1/+oFmuL8loWnZn9pFRFT+W///FnA6h20jNz
/ZEwEcvAGF4ffeF1ITmDUZq6EMypSQJH4XXPh7FqfFTM3s3zwjtcxbwXQVw/KXmR
iI4k20zsw1WSPLPg2JPbvws7QZddut5M1TCHn9AvU4y4KrigCPoqLLGElvmKzkaW
Z9pjk7kk07u4lU6YuE2NLYRf7j/WqYC+/IrAIYlhY6fS6JL/nzmWu0yTLyiSExdO
mih2VwECgYEA6EdXtiJcMQu5d7195cV98P/BUL7iL0huIBmlU0c+7+/cvea6V587
V1c4B8s+NpyDIfkSHVOZdLhmRg78nXT7BuSWcRwOLJn61h2oJ03GlEZL/emrreH4
cRb2hO8O4uAJFKUSGeHogdZAYQb21FpSmzSEQiMbJXCP3bwwqEKp8r0CgYEAzTwD
YQiD4YSLzAP+V5nlpWuUgBmhXwOci5CJshsoGCCcEfRgHrrJ1xNI5zXriL1WxLPL
jhFSSQyv1a+MydWp/GvcMm7UNzSWob3otf/pRqQgJN6Ix7lvTmEqaQxf5Ye9ZVei
YVjp5v1cKiDtZtKWgpj6aWXOvo6UDhNnaJkxO6ECgYEApfkcbpOcxpr3Gt13EXEN
7eACVV0gJ+Mcdal9ncUh7ra5R6SPcD7iWyWCbudGfCVX+jWMQRJUa7e7tMHOtgA5
wxIhgY8nfa1FNCwa1ILZq2eTs0p+FxCJwt1Cp3hebbTiKDNPfNkUl3ntpKciRliI
AEkFXHDTW+xTkICBUCnaYA0CgYAXwy8Q+Q9r+RDGml/EfMkeEgqrmkwY2C4z6pRG
zuYhhQUM/yJx7GaaRF1Yh+Gxf1qgg8C5vj+svY9OSnkelWKNG1/vZu2jRq96Iqbj
C7JSv4YJPsrPdSTyCkYCy6/+v2yqYy8l3kmWuRcGubFDCnbqwBOeSG9bmN6DkrOS
ZMpSgQKBgQCvEiVGLIgo2L/1k8cELQZfBcY3RuA8gvkaJfIpgXdt7qkJbvMpZP6e
rX/sANXrY8+PX2DfbsHmZ0HGjEWA0F4ncNloI1jPqN6U/GRSHa/t/nO4/RzL8rpx
lKw190pEZ/sEHv9KXeVZdT5noyw1Y67ssUapX3BRU67/7kOhakMJVg==
-----END RSA PRIVATE KEY-----git
Docker registry 憑據web
#新建任務:選擇自由風格
#源碼管理:
1.選擇Git,Repository URL:填寫項目的git地址
2.按上一步建立公鑰和私鑰
3.在gitlab中添加公鑰id_rsa.pub
4.添加憑據:
類型:選擇SSH
UserName:git
選擇Enter directly, 點擊Add ,填寫上一步生成的 私鑰id_rsa
#構建觸發器
1.選擇:輪詢 SCM
輸入 設置兩分鐘拉取一次
2.使用webhooks遠程出發構建
#構建:見下一步
H/2 * * * *
第0步:在Docker Swarm Manager節點上的主機目錄上,編寫docker-compose.yml,編排容器和服務;docker
第1步:先從Git拉取代碼shell
第2步:添加構建步驟:Build / Publish Docker Imageapache
1.根據代碼中的Dockerfile構建Images;centos
2.將構建好的Image,push到倉庫;bash
第3步:添加構建步驟:Execute shell script on remote host using ssh dom
cd /data/dicker/compose/xplan #docker-compose.yml所在目錄 docker stack down xplan #下線 docker stack deploy -c docker-compose.yml xplan #從新部署
第4步:提交代碼,等待構建和發佈;
參考:
【★】Docker+Jenkins持續集成環境(1)使用Docker搭建Jenkins+Docker持續集成環境