jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。
jenkins 安装
Ubuntu
法一:apt-get
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo "deb https://pkg.jenkins.io/debian-stable binary/" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install jenkins
jenkins地址是:http://IP:8080
法二:war包
下载地址:https://jenkins.io
下载的jenkins.war,放到tomcat/webapp目录下,启动tomcat
tomcat默认端口为8080(可以自行修改),jenkins地址是:**http://IP:8080/jenkins **
启动jenkins和停止jenkins可以用下面这两条命令:
sudo service start
sudo service stop
安装完成,启动报错见下面配置设置,网页打不开看看防火墙有没有放行端口。
Centos
安装前检查jdk
java --version
yum list *openjdk*
法一:yum
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
yum install jenkins
jenkins地址是:http://IP:8080
法二:war包
下载地址:https://jenkins.io
下载的jenkins.war,放到tomcat/webapp目录下,启动tomcat
tomcat默认端口为8080(可以自行修改),jenkins地址是:**http://IP:8080/jenkins **
启动jenkins和停止jenkins可以用下面这两条命令:
sudo /etc/init.d/jenkins start
sudo /etc/init.d/jenkins stop
安装完成,启动报错见下面配置设置,网页打不开看看防火墙有没有放行端口。
Window、Mac
下载地址:https://jenkins.io
直接点图中war包旁边小三角选择下载安装
jenkins地址是:http://IP:8080
Docker
DockerHub官方jenkins镜像: https://registry.hub.docker.com/_/jenkins/
github源码: https://github.com/jenkinsci/docker
官方jenkins镜像中所使用的jenkins是Jenkins的LTS(Long Term Support)发布版本。
docker官方的jenkins镜像启动容器
运行命令为
docker run --name myjenkins -p 8080:8080 -v /var/ jenkins_home jenkins
运行docker run命令时,如果本地没有镜像,则默认会从DockerHub pull镜像,将镜像缓存到本地,然后再启动基于镜像创建的容器。
查看镜像信息:docker images
过一会儿就能看到启动日志了,此时注意日志输出的密码。
查看日志也可以
docker ps
docker logs [image_name/CONTAINER ID]
提示说密码在**/var/jenkins_home/secrets/initialAdminPassword**能看到,于是进入交互模式
docker run -i -t [image_name/CONTAINER ID] /bin/bash
就可以直接像一台主机一样操作啦,但我没有找到该文件。
之后浏览器输入http://IP:8080就能看到Jenkins页面了,输入刚刚的密码。下一步按需要选择;输入账户密码;进入管理界面。
源码构建jenkins镜像并运行容器
需要JDK环境
git clone https://github.com/jenkinsci/docker.git
cd docker
docker build -t leolan/jenkins . #使用docker build+Dockerfile(文件在docker目录下)构建jenkins镜像
镜像构建成功后(总共21个Step,Dockerfile共21条指令),使用docker images查看镜像,leolan/jenkins和官方的jenkins镜像大小相同,使用docker ps查看运行的容器信息。
使用docker stop [image_name/CONTAINER ID]
停止之前基于官方jenkins镜像启动的容器
启动新容器:docker run --name leolan_jenkins -p 8080:8080 -v /var/jenkins_home leolan/jenkins
之后浏览器输入http://IP:8080就能看到Jenkins页面了,输入刚刚的密码。下一步按需要选择;输入账户密码;进入管理界面。
用cSphere希云管理Docker
参考:http://csphere.cn/hub/jenkins
配置设置
jenkins安装目录(WAR包会放在这里):/usr/lib/jenkins/
jenkins配置文件:/etc/sysconfig/jenkins
默认的JENKINS_HOME:/var/lib/jenkins/
Jenkins日志文件:/var/log/jenkins/jenkins.log
端口设置:vim /etc/sysconfig/jenkins
找到2处修改端口号:
JENKINS_PORT="8080"
JENKINS_AJP_PORT="8009"
重启服务:service jenkins restart
错误:“Starting Jenkins -bash: /usr/bin/Java: No such file or directory”。表示找不到Jenkins找不到java。
查看java版本java -version
,编辑文件vi /etc/init.d/jenkins
,找到类似这样的一段,在最后加上:
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/bin/java
/usr/java/jdk1.8.0_111/bin/java #新增加的
重启服务:service jenkins restart
jenkins 插件
Git Parameter Plug-In 插件
本节是根据烂泥大神分享的笔记摘录的!
Git Parameter Plug-In插件可以参数化构建git 可以根据不同的分支或者tag进行构建。
安装Git Parameter Plug-In插件
Git Parameter 文档:
https://wiki.jenkins-ci.org/display/JENKINS/Git+Parameter+Plugin
插件下载:https://updates.jenkins-ci.org/download/plugins/git-parameter/
下面这个截图是根据分支进行构建
如果是根据tag进行构建的话,如下进行配置
这次我们是根据分支进行构建
注意以上两张截图中name就是下面我们要配置的变量:
通过上图,我们可以看到下载git仓库中有两个分支master和wxy,我们可以选择其中任意一个进行构建即可。
这次我们选择wxy分支进行构建,如下:
ansible plugin插件
本节是根据烂泥大神分享的笔记摘录的!
首先要注意把yml文件存放到jenkins的工作目录下,否则jenkins会提示无权限操作。
cat /var/lib/jenkins/yml/dir.yml
- hosts: '{{ host }}'
remote_user: root
tasks:
- name: test make dir
file: path=/etc/ilannitest state=directory mode=0755
也可以保存到文件中主机地址,如下:
cat /etc/ansible/hosts
[h5]
114.55.101.252 ansible_ssh_user=root ansible_ssh_private_key_file=/var/lib/jenkins/key/dongyin```
![](https://image.leolan.top//blog/jenkins014.png)
![](https://image.leolan.top//blog/jenkins015.png)
![](https://image.leolan.top//blog/jenkins016.png)
---
## 多仓库Multiple SCMs plugin插件
**本节是根据[烂泥大神](http://www.ilanni.com/)分享的笔记摘录的!**
插件地址:http://mirror.xmission.com/jenkins/plugins/multiple-scms/
![mark](https://image.leolan.top/blog/20161117/090622750.png)
![mark](https://image.leolan.top/blog/20161117/090639726.png)
这个设置是为了防止前一个仓库的代码覆盖后一个仓库代码
![](https://image.leolan.top/blog/20161117/090424777.png)
![mark](https://image.leolan.top/blog/20161117/090652844.png)
![mark](https://image.leolan.top/blog/20161117/090702854.png)
---
评论区