首先,我们要用jenkins,第一步,绕不开的就是安装。Jenkins的最低配置如下:
-
最低配置:256MB可用内存,1GB可用磁盘空间(Docker推荐10GB)。
-
小团队配置:1GB+可用内存, 50GB+可用磁盘空间。
当然这个配置是一个最低的标准,他和你的构建并发数有直接的原因,,理论上来说,每有一个cpu,可以配置一个执行数量。但是如果你的构建,需要的java,node等程序,我建议两个cpu对应一个执行数量。也就是说,一台4和8G的服务器,可以将执行数量设置为2。当然并不是说,不能够设置为4,只是当4个构建并发执行的时候,比如,node的编译是真的很消耗资源。这样整个过程会变得很慢。
jenkins是一个java的程序,他需要一个java的环境,一般来说部署java 8的版本就可以,最近新版的也可以部署java 11
你可以选择从Oracel官网下载java 8 的部署包,也可以通过yum的方式。java的部署包,你可通过如下的方式进行下载,可以关注我的公众号,回复jenkins进行下载。
你可以安装Oracle官方的 java 8,链接如下:
https://www.java.com/zh-CN/download/manual.jsp
如果通过yum方式安装openjdk,可以通过以下命令
yum search openjdk
找到想要的版本后,进行安装,比如:
yum install java-1.8.0-openjdk -y
Jenkins部署
Jenkins 有多种部署方式,比如通过 war包进行部署,或者通过rpm包进行部署。下面我会分别说明这两种部署方式.
基于WAR包部署
Jenkins的web应用程序archive(war)包是可以在任何支持Java的操作系统上运行。Jenkins最新 war包
将下载的war包放到jenkins的目录中(可以自定义)。运行命令
# 启动
java -jar jenkins.war
此时可以看到Jenkins的启动日志,查看是否有异常。通过浏览器访问http://localhost:8080
。
注意:可以通过
--httpPort
方式指定端口,java -jar jenkins.war -httpPort=9090
。
基于rpm包部署
| MAC系统部署
下载软件包手动安装jenkins最新版本
brew install jenkins
安装jenkinsLTS版本
brew install jenkins-lts
| Windows系统安装
下载软件包通过向导安装即可。
| Linux系统部署
下载软件包
# 安装
rpm –ivh jenkins-2.150.3-1.1.noarch.rpm
# 启动服务
service jenkins start
# 开机自启
chkconfig jenkins on
| 配置文件
以rpm方式部署的配置文件在/etc/sysconfig/jenkins,可以定义Jenkins启动参数和端口。
[root@web-01 ~]# grep -v ^$ /etc/sysconfig/jenkins | grep -v ^#
JENKINS_HOME="/var/lib/jenkins"
JENKINS_JAVA_CMD=""
JENKINS_USER="root"
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
JENKINS_PORT="8080"
JENKINS_LISTEN_ADDRESS=""
JENKINS_HTTPS_PORT=""
JENKINS_HTTPS_KEYSTORE=""
JENKINS_HTTPS_KEYSTORE_PASSWORD=""
JENKINS_HTTPS_LISTEN_ADDRESS=""
JENKINS_HTTP2_PORT=""
JENKINS_HTTP2_LISTEN_ADDRESS=""
JENKINS_DEBUG_LEVEL="5"
JENKINS_ENABLE_ACCESS_LOG="no"
JENKINS_HANDLER_MAX="100"
JENKINS_HANDLER_IDLE="20"
JENKINS_EXTRA_LIB_FOLDER=""
JENKINS_ARGS=""
官网的yum安装方式
首先需要安装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
安装epel-release源
yum install epel-release
安装Jenkins
yum install java-11-openjdk-devel
yum install jenkins
你也可以点击这个连接
https://www.jenkins.io/zh/download
参看官方的部署文档。
配置jenkins
当我们部署完成后,登录到页面,第一步需要解锁Jenkins,系统会要求您使用自动生成的密码对其进行解锁。解锁秘钥可以通过$JENKINS_HOME/secrets/initialAdminPassword
文件获取。还可以通过在启动日志中获取。
第二步,我们需要安装Jenkins插件。解锁Jenkins之后再自定义Jenkins页面,您可以安装任何数量的插件作为初始化的一部分。分别是安装建议的插件和选择要安装的插件(如果不确定要安装那些的时候可以选择此选项,灵活的自定义安装)。插件安装多了也没关系,可以后面在jenkins插件管理页面删除。
最后一部就是创建用户,在这里创建一个管理员账号,到此jenkins的初始化配置已完成。
配置更新站点
由于使用官方的站点速度相对很慢,这里采用清华大学的jenkins更新站点。站点地址: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
Jenkins分布式部署
你可以在系统管理-->节点管理中找到配置的地方,
我们可以采用Launch agents via SSH
的方式来部署从节点。这里说明一下,为什么没有用agent,然后用命令的方式连接主节点的部署方式。之前在做分部署的时候,可能是agent版本的问题,用Jenkins api调用过来的请求,从节点部署一直有问题。所以就采用了Launch agents via SSH
的方式,这种方式,主节点会用ssh创建一个连接,然后拷贝一个jar包来启动从节点。
具体配置如下
这里我们要添加一个凭证,点击添加
然后点击保存。
这里要注意,从节点的环境配置也要和主节点一样,比如node.js、git、maven等部署工具的版本。另外,主节点所用到的脚本也有进行同步,这里同步有两种方式,第一种可以挂载一个公共的文件路径,比如用NFS,或者使用lsyncd来进行双机相互拷贝。如果采用lsyncd的方式,一定要注意配置文件的权限和属组属主
rsync = { perms = true, owner = true, group=true }
总结
今天主要介绍了,jenkins的两种部署方式,一些简单的配置。我在平时应用的时候,更喜欢用rpm的方式进行安装。jekins在部署中,最麻烦的可能是插件,在之后的文章中也会具体聊到。文章中出现的安装包你可以在清华镜像源来下载,地址如下:
https://mirrors.tuna.tsinghua.edu.cn/jenkins/
如果你还有什么问题,或者建议,可以给我留言,或者关注公众号小圆和他的朋友们。