关于Jenkins
Jenkins 是一个独立的开源自动化服务器,可以用来自动化与构建、测试、交付或部署软件相关的所有任务。
Jenkins的前身是Hudson, Hudson是SUN公司时期就有的CI工具,后来因为ORACLE收购SUN之后的商标之争,创始人KK搞了新的分支叫Jenkins 。今天的Hudson还在由ORACLE持续维护,但风头已经远不如社区以及CloudBees驱动的Jenkins.
- 关于Hudson 和Jenkins的恩怨,有兴趣可查阅 https://www.oschina.net/news/63453/hudson-and-jenkins-grievances
- 参考文档:https://jenkins.io/doc/book/installing/
1. Linux上运行jenkins
环境准备
注意: 如果将Jenkins作为Docker 容器运行,这不是必需的
Jenkins依赖java环境, 请先确保java环境已安装好, java安装流程如下:
- 下载jdk8 tar.gz包从jdk download page
- 解压tar.gz包
- 配置环境变量JAVA_HOME, JRE_HOME,CLASSPATH, PATH
- 检查是否安装成功: java & javac
sudo wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz
tar -zxvf ${your_download_path}/jdk-8u191-linux-x64.tar.gz
mv ${your_download_path}/jdk1.8.0_191 /usr/local/
vim /etc/profile
# 在文件末尾加上下面内容:
export JAVA_HOME="/usr/local/jdk1.8.0_191"
export PATH=$PATH:$JAVA_HOME/bin
#使环境变量生效:
source /etc/profile
Jenkins配置文件位置
- Ubuntu: /etc/default/jenkins
- CentOS: /etc/sysconfig/jenkins
Debian/Ubuntu
wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
#可选:设置指定版本
sudo apt-get install jenkins=2.138.1
# 修改jenkins配置`/etc/default/jenkins`
vim /etc/default/jenkins
#配置jenkins运行用户以及用户组:
JENKINS_USER=root
JENKINS_GROUP=root
# 重启 jenkins
systemctl restart jenkins
CentOS 7
# Java 8
yum install java
# Jenkins stable 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
yum install jenkins
# start jenkins
service jenkins start
2. WAR包方式运行
1.安装前准备 Java 8 (either a JRE or Java Development Kit (JDK) is fine)
2.下载:http://mirrors.jenkins.io/war-stable/latest/jenkins.war
3.执行命令 nohup java -jar jenkins.war --httpPort=8080 &> jenkins.log &
4.浏览器打开http://localhost:8080
3. Docker 方式运行
初始化密码存储目录 /var/jenkins_home/secrets/initialAdminPassword
docker run -u root -itd --name jenkins --restart=always -p 8080:8080 -p 50000:50000 \
-v /var/jenkins_home:/var/jenkins_home \
-v $(which docker):/usr/bin/docker \
-v /etc/localtime:/etc/localtime \
-v /etc/timezone:/etc/timezone \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkins/jenkins:lts
# 8080端口是jenkins的端口,5000端口是master和slave通信端口
初次启动的时候,可以通过docker logs -f jenkins查看控制台的密码,通过这个密码登录系统
4. Windows上运行jenkins
- 在Jenkins官方网站上你可以找到基于特定平台的安装包(安装程序)。
- 也可以直接下载jenkins.war并通过执行java –jar jenkins.war命令来运行Jenkins。这跟测试运行基本一致,除了输出不会显示到一个窗口而是显示到控制台之外。在Windows系统中,还可以将Jenkins作为服务安装到系统中。
- Windows installer , 建了一个windows服务:Jenkins,默认使用的端口是8080
b. 直接从 http://mirrors.jenkins-ci.org/war/latest/jenkins.war 下载最新的war包,然后解压到某个固定目录就算安装完成了
Java -jar Jenkins.war 加载Jenkins (确保系统中安装了jdk)
Java -jar jenkins.war -httpsport=8443 -httpport=-1 指定端口和安全端口
Jenkins 会通过8443端口运行,而http 的端口通过设置成-1关闭
5. 基于Web容器(Tomcat)
如果你在使用支持Servlet 2.4/JSP 2.0或者更高版本的servlet容器,比如Tomcat5。就可以像部署其他War包一样部署jenkins.war
把jenkins.war放入tomcat下的webapps目录下,当启动jenkins时,就会自动在webapps下建立jenkins目录。然后再浏览器的地址栏输入http://localhost:8080/jenkins